相关疑难解决方法(0)

重复setTimeout

我试图setTimeout每10秒重复一次.我知道setTimeout默认只等待然后执行一次动作.我该如何重复这个过程?

setTimeout(function() {
  setTimeout(function() {
    console.log("10 seconds");
  }, 10000);
}, 10000);
Run Code Online (Sandbox Code Playgroud)

javascript settimeout

46
推荐指数
4
解决办法
7万
查看次数

setTimeOut()或setInterval().4种方法同样适用.哪个最好?

我正在显示一个关于给定的终结时间的倒计时表.

虽然它的工作完美,但我想知道哪种方法最适用.

下面是我的倒计时功能.

  var timerId;
  var postData = {endDate : endDate, tz : tz};  
  var countdown = function()
    { 
      $.ajax({
               type : 'post',
               async : false,
               timeout : 1000,
               url : './ajax_countdown.php',
               data : $.param(postData),
               dataType : 'json',
               success : function (resp){
                  $('#currentTime').html(resp.remainingTime);
               }
            }); 
     }
Run Code Online (Sandbox Code Playgroud)

我想要的是每1秒后自动调用一个函数(倒计时),如果它在1秒内没有执行/完成,则取消当前的ajax并启动一个新的ajax调用.

现在我发现有4种工作方法

方法1:将setInterval()与window对象一起使用

window.setInterval(countdown, 1000);
Run Code Online (Sandbox Code Playgroud)

方法2:独立使用setInterval()

setInterval(function() {countdown()}, 1000);
Run Code Online (Sandbox Code Playgroud)

方法3:在函数内部使用setTimeOut调用其他函数初始化main函数

var countdown = function() { 
     $.ajax({ //ajax code });
     timerId = setTimeout(countdown, 5000); // …
Run Code Online (Sandbox Code Playgroud)

javascript jquery anonymous-function settimeout setinterval

5
推荐指数
2
解决办法
3230
查看次数

按键同时按下

我可以在Javascript中知道同时按下的键数吗?

如果是这样,我怎么能有他们的阵列keyCode

javascript keydown

4
推荐指数
1
解决办法
2143
查看次数