JQuery重启setInterval
很抱歉这是一个烦恼,但无法通过切换function重新启动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 ); });
非常感谢,很可能。 很简单,我从不擅长将function放在“function内”
尝试:
$('.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 ); } });