[英]setTimeout in node.js - javascript
在这里,我有一个代码,用于总计3个数字i + j + k,但我想知道如何配置服务器文件以与setTimeout函数一起使用...是否有一些限制?
因此,这是mycode:
玉器
!!! 5
html
head
title Test
body
form(name='form1', method='post', action='')
label(for='1')
input#1(type='text', name='1')
label(for='2')
input#2(type='text', name='2')
label(for='3')
input#3(type='text', name='3')
input(name='submit', type='button', value='submit')
span #{result}
app.js
var express = require('express');
app = express.createServer();
app.configure(function(){
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.set("view options", { layout: false });
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(__dirname + '/public'));
});
app.use(express.bodyParser());
app.get('/', function(req, res){
var result;
res.render('index', {result: ''});
});
app.post('/', function(req, res){
var i = req.param('1', 0);
i = parseInt(i);
var j = req.param('2', 0);
j = parseInt(j);
var k = req.param('3', 0);
k = parseInt(k);
var r = i+j+k;
res.render('index', {result:r});
});
app.listen(3010);
如何阻止用户操作(单击,双击,右键单击)并在前5秒钟内向他显示一个带有“您可以执行任何操作”文本的div,之后该用户可以执行操作,但在60秒后又不能执行任何操作...我可以用setTimout函数还是怎么做?
对不起我的英语不好
您不能在服务器端执行此操作。 您必须插入一个客户端javascript来阻止交互,并在5秒钟后再次取消阻止。
在客户端执行此操作的代码如下所示:
// this code should be executed when the client receives a message from the server.
var overlay = document.getElementById("your-element-id");
overlay.style.visibility = "visible";
window.setTimeout(function () {
overlay.style.visibility = "hidden";
}, 5000);
您应采取以下步骤来实现所需的目标:
1.用户加载页面。
2.用户从服务器收到一条消息,表明他正在同步
3.然后,在指定的时间之后或在服务器发出另一条消息之后,您取消阻止用户
4.最后,您开始游戏
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.