我正在使用jquery函数setinterval而不是clearinterval来清除它..但是我的clearinterval不工作..这是我的代码。
$('#autoslide').click(function(){
if($('#autoslide').is(':checked')){
var interval = setInterval(function() {
$('.magazine').turn('next');
}, 2000);
}else
{
//stopinterval(interval)
clearInterval(interval);
//window.clearInterval(interval);
// interval = null
}
});
这些尝试都没有起作用
答案 0 :(得分:6)
使你的计时器变量在函数之外。
var interval;
$('#autoslide').click(function(){
if($('#autoslide').is(':checked')){
interval = setInterval(function() {
$('.magazine').turn('next');
}, 2000);
}else
{
//stopinterval(interval)
clearInterval(interval);
//window.clearInterval(interval);
// interval = null
}
});
答案 1 :(得分:3)
您需要使用全局变量。如果使用局部变量,则每次单击处理程序调用都有自己的变量副本。
var interval;
$('#autoslide').click(function(){
if($('#autoslide').is(':checked')){
interval = setInterval(function() {
$('.magazine').turn('next');
}, 2000);
}else
{
//stopinterval(interval)
clearInterval(interval);
//window.clearInterval(interval);
// interval = null
}
});