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