停止setInterval并重新启动它
Stop setInterval and start it again
我正在使用这个设置间隔函数:
function ticker(){
setInterval(function(){
$('.slide').fadeToggle();
}, 5000);
}
我想做的是,当用户用onclick="topbartoggle"
点击div
时,setInterval
功能停止,如果他再次点击,setInterval
功能再次开始工作:
function topbartoggle(){
$('#top-bar').toggleClass('active');
$('.top-bar-box').slideToggle();
$('.top-bar-close').fadeToggle();
}
你知道怎么做吗?
var tickerID = false;
function ticker(){
tickerID = setInterval(function(){
$('.slide').fadeToggle();
}, 5000);
}
要停止股票行情,请使用
clearInterval(tickerID);
要重新启动它,只需调用ticker();
编辑:了解你需要切换股票代码,将其添加到你的切换功能中:
if(tickerID != false) {
clearInterval(tickerID);
tickerID = false;
} else { ticker(); }
由于您希望保持相同的延迟,因此保持计时器运行可能是最简单的:
var shouldTick = true;
var $slide = $('.slide');
setInterval(function () {
if (shouldTick) {
$slide.fadeToggle();
}
}, 5000);
function topbartoggle() {
shouldTick = !shouldTick;
$('#top-bar').toggleClass('active');
$('.top-bar-box').slideToggle();
$('.top-bar-close').fadeToggle();
}
setInterval返回一个可以用来停止间隔的句柄,如下所示:
var myInterval = setInterval(function() { // myInterval should be global
something();
}, 5000);
function stopInterval()
{
clearInterval(myInterval);
}
所以你可以这样做:
<div onclick="stopInterval();anyOtherFunction();"></div> //anyOtherFunction could be any function you want.
相关文章:
- 当我在重新启动cordova应用程序后尝试添加更多数据时,lokijs会丢失数据库和收集中的数据
- 重新启动jquery脚本后,角度停止工作
- Chrome内容脚本制作cookie;chrome重新启动时,cookie会被删除.如何使其稳定
- preventDefault之后的重新启动事件
- WebStorm,使用Node Supervisor(因此不必在每次代码更改后重新启动)
- 重新启动游戏jQuery功能不工作
- Web服务器意外退出,正在重新启动新实例
- 在变量中保存值的最佳方法是在应用程序关闭后使用,然后使用apachecordova在android中重新启动
- 重新启动画布 JavaScript
- 事件侦听器,用于完全关闭后重新启动的应用程序
- Node SocketIO以编程方式强制在损坏的套接字上重新启动
- 服务器重新启动后javascript不工作
- 当滚动到指定的位置时,启动功能,如何重置它并重新启动,如果我们再次回到这个位置
- Gulp Concat+Browsesync重新启动
- 在 javaScript 中重新启动 setInterval
- 如何为Sails.js创建启动/停止/重新启动Linux服务
- 如何暂停和重新启动jquery数据表插件
- 如何创建一个onclick函数,该函数在按下重新启动按钮时被调用
- 在第一次安装扩展时,使用Javascript重新启动Google Chrome
- 重新启动/刷新时在Google Maps API上保存标记,之后's已被用户拖动.下面的