clearInterval在jquery中不起作用

时间:2014-06-05 05:33:31

标签: javascript jquery

我正在使用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
    }
});

这些尝试都没有起作用

2 个答案:

答案 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
    }
});