clearInterval在特定情况下不起作用(javasripct,jquery)
clearInterval not working on a specific occasion (javasripct, jquery)
我遇到了一个问题,我在按下按钮时设置了一个间隔,并试图在再次按下按钮时将其清除。我还设置了它,以便在用户离开页面时设置间隔,当他回来时,间隔应该被清除。(我使用的是一个暂停插件,所以.pause()和.resume()是一回事)。这是javascript代码:
var check
var pauseactive
function pause() {
$('.box').pause();
$('#pauseimg').attr('src','buttonimg.png');
$('#pause').attr('ID','resume');
check=setInterval(pausecheck,10);
pauseactive=1;
}
function resume() {
$('.box').resume();
$('#pauseimg').attr('src','pause.png');
$('#resume').attr('ID','pause');
window.clearInterval(check);
pauseactive=0;
}
$(document).on('click','#pause',pause);
$(document).on('click','#resume',resume);
$(window).blur(pause); //this is also surrounded by $(document).ready()
$(window).focus(resume); //this is also surrounded by $(document).ready()
编辑(更好的解释):
当我单击#pause
按钮时,它会执行它应该执行的操作。当我单击#resume
按钮时,会正确地清除间隔
当我离开页面时,pause
功能会正确激活,当我回来时,resume
功能会正常工作并清除间隔
当我单击#pause
按钮然后离开页面时,问题就出现了。在那之后,当我回来的时候,功能就不清楚了。这可能是因为它做了两次setInterval
吗?
您是否混淆了pause
和resume
?Coz clearInterval
和setInterval
的代码需要交换:
function pause() {
$('.box').pause(); // Give the (); here.
$('#pauseimg').attr('src','buttonimg.png');
$('#pause').attr('ID','resume');
window.clearInterval(check);
pauseactive=1;
}
function resume() {
$('.box').resume();
$('#pauseimg').attr('src','pause.png');
$('#resume').attr('ID','pause');
check=setInterval(pausecheck,10);
pauseactive=0;
}
你忘记调用函数了。相反,它只是指pause
函数。这一点已经得到纠正。
因此,一旦调用了pause()
,就应该清除该间隔。现在已经交换了。请检查。
相关文章:
- 无法从 jQuery RSS Feed 中的 localStorage 动态替换类
- 如何使用jQuery自动打开页面上的所有链接
- 如何使用jquery在填充自动完成的值后使文本框只读
- jQuery:循环一个具有不同超时值的循环
- 用程序搜索JQuery数据表中的文本
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- jQuery匹配JSON对象的部分文本
- Jquery POST未填充数组
- JQuery使计数器每次更改时都会增加
- 如何在Angular2中使用jQuery插件
- 提高JQuery的性能
- 无法在通过jQuery的ajax加载的页面中执行javascript
- JQuery合并了keyup和focusout两个函数
- 如何使用jQuery选择下拉列表的值
- 将PHP变量传递给jQuery时遇到问题
- jQuery UI自动完成突然停止工作
- 剑道网格jQuery动画()问题
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- jquery点击函数select&取消选择
- clearInterval在特定情况下不起作用(javasripct,jquery)