簡體   English   中英

node.js中的setTimeout-javascript

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM