javascript - clearInterval not working in jquery - Stack Overflow

i am using jquery function setinterval and than clearinterval to clear it.. but i the clearinterval is

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

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1743950754a4534901.html

相关推荐

  • javascript - clearInterval not working in jquery - Stack Overflow

    i am using jquery function setinterval and than clearinterval to clear it.. but i the clearinterval is

    2天前
    10

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信