当前位置: 首页 > 面试题库 >

setTimeout / clearTimeout问题

黄浩涆
2023-03-14
问题内容

我尝试使页面转到例如eg之后的首页。10秒钟不活动(用户未单击任何位置)。我使用jQuery进行其余操作,但测试功能中的设置/清除是纯JavaScript。

令我沮丧的是,我最终得到了类似该功能的东西,希望我可以在该页面上进行任何单击。计时器可以正常启动,但单击后不会重置。如果在前10秒内调用该函数5次,则将出现5条警报…无clearTimeout

function endAndStartTimer() {
    window.clearTimeout(timer);
    var timer;
    //var millisecBeforeRedirect = 10000; 
    timer = window.setTimeout(function(){alert('Hello!');},10000); 
}

有人得到一些可以解决问题的代码行吗?-在任何点击停止时,重置并启动计时器。-当计时器命中时 10sec做点什么。


问题答案:

您需要在函数timer 外部 声明。否则,您将在每次函数调用时获得一个全新的变量。

var timer;
function endAndStartTimer() {
  window.clearTimeout(timer);
  //var millisecBeforeRedirect = 10000; 
  timer = window.setTimeout(function(){alert('Hello!');},10000); 
}


 类似资料:
  • 本文向大家介绍JavaScript setTimeout,操作顺序,clearTimeout,包括了JavaScript setTimeout,操作顺序,clearTimeout的使用技巧和注意事项,需要的朋友参考一下 示例 setTimeout 等待指定的毫秒数后执行功能。 用于延迟执行功能。 语法: setTimeout(function, milliseconds)或window.setTi

  • 本文向大家介绍JavaScript计时器用法分析【setTimeout和clearTimeout】,包括了JavaScript计时器用法分析【setTimeout和clearTimeout】的使用技巧和注意事项,需要的朋友参考一下 本文实例分析了JavaScript计时器用法。分享给大家供大家参考,具体如下: JavaScript中使用setTimeout和clearTimeout函数进行计时/停

  • 问题内容: 如果我设置了活动超时, 反正有暂停和恢复吗? 有什么方法可以获取当前超时时间的剩余时间? 还是我必须在一个变量中,设置了超时时间后,存储当前时间,然后我们暂停一下,以获取现在和之后的时间差? 问题答案: 您可以这样包装,我认为这与您在问题中建议的内容类似:

  • 本文向大家介绍浅谈JavaScript中setInterval和setTimeout的使用问题,包括了浅谈JavaScript中setInterval和setTimeout的使用问题的使用技巧和注意事项,需要的朋友参考一下 说到setInterval,就不得不提到setTimeout,二者都是用于定时执行某函数,区别在于setTimeout 只执行一次,而setInterval可以一直连续不断执行

  • 问题内容: 我有以下内容: 如何通过.click函数在倒计时中途重置计数器? 问题答案: 您可以存储对该超时的引用,然后调用该引用。

  • 由于 JavaScript 是异步的,可以使用 setTimeout 和 setInterval 来计划执行函数。 注意: 定时处理不是 ECMAScript 的标准,它们在 DOM (文档对象模型) 被实现。 function foo() {} var id = setTimeout(foo, 1000); // 返回一个大于零的数字 当 setTimeout 被调用时,它会返回一个 ID 标