最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - clearInterval not working in jquery - Stack Overflow

programmeradmin1浏览0评论

i am using jquery function setinterval and than clearinterval to clear it.. but i the clearinterval is not working .. here is my code.

$('#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
    }
});

none of these tries are working

i am using jquery function setinterval and than clearinterval to clear it.. but i the clearinterval is not working .. here is my code.

$('#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
    }
});

none of these tries are working

Share Improve this question asked Jun 5, 2014 at 5:33 M Ikram ZafarM Ikram Zafar 1501 gold badge3 silver badges13 bronze badges 1
  • Understanding variable scope in Javascript is difficult at first, but once you get it, it's hard to ever think differently. – oliverseal Commented Jun 5, 2014 at 5:52
Add a ment  | 

2 Answers 2

Reset to default 7

Make your timer variable outside the function.

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

You need to use a global variable. If you use a local variable, each click handler invocation has its own copy of the variable.

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
    }
});
发布评论

评论列表(0)

  1. 暂无评论