JQuery重启setInterval

时间:2011-01-21 12:24:01

标签: jquery restart setinterval

很抱歉这是一个烦恼,但无法通过切换功能重新启动setInterval。我可以在需要时停止它,但是当切换“关闭”

时我无法重启它

这是我的代码

设置setInterval

var auto_refresh = setInterval( function() { $('.holder').load('board.php'); }, 5000 );

停止切换 - 但希望它从“反向切换”开始

$('.readmore').live('click',function() {
    $(this).next().slideToggle('slow');
    clearInterval(auto_refresh);
}, function() {
    var auto_refresh = setInterval( function() { $('.holder').load('board.php'); }, 5000 );
});

非常感谢,非常感谢。非常简单,我从不擅长将功能放在“功能内”

1 个答案:

答案 0 :(得分:2)

尝试:

$('.readmore').live('click',function() {
    $(this).next().slideToggle('slow');

    if(!auto_refresh ) {
        auto_refresh = setInterval( function() { $('.holder').load('board.php'); }, 5000 );
    }
    else {
        clearInterval(auto_refresh);
        auto_refresh = null;
    }
});

或者甚至可能更好,使用元素的状态来决定:

$('.readmore').live('click',function() {
    var $elem = $(this).next();

    if( $elem.is(':visible') ) {
        $elem.slideUp('slow');
        clearInterval(auto_refresh);
    }
    else {
        $elem.slideDown('slow');
        auto_refresh = setInterval( function() { $('.holder').load('board.php'); }, 5000 );

    }
});