setInterval,全局范围:运行setInterval一次点击
setInterval & the global scope: Running setInterval once on click
当用户登陆我的主页时,我使用setInterval在一些类中循环,以获得视觉效果:
var toggleSlide = setInterval( function() {
$('#cs-main nav li.cycle').removeClass("cycle" || " ").next().last().addClass("cycle");
},600);
我希望这个效果只在用户点击启动页面时运行一次,并且网站是通过ajax加载的:
$("#splash").live('click', function () {
$(this).fadeOut('slow', function () {
$('#main').load('client.html', function () {
}).fadeIn();
var toggleSlide = setInterval( function() {
$('#cs-main nav li.cycle').removeClass("cycle" || " ").next().last().addClass("cycle");
},600);
});
return false;
});
我遇到的问题是(我假设),因为setInterval在全局范围内运行,任何时候#cs-main nav li.cycle
出现在页面上,setInterval做它的事情。这是有问题的,因为这个类出现在我的子页面上,而我的意图只是让它在用户单击#splash时运行一次。
使用clearInterval()
杀死计时器一旦你完成它…
试试下面的
$("#splash").live('click', function () {
$(this).fadeOut('slow', function () {
var toggleSlide = setInterval( function() {
$('#cs-main nav li.cycle').removeClass("cycle" || " ").next().last().addClass("cycle");
},600);
$('#main').load('client.html', function () {
}).fadeIn('slow', function(){
clearInterval(toggleSlide);
});
});
return false;
});
相关文章:
- setInterval 只在对象方法上运行一次
- 如何在 window.setInterval 中每分钟运行一次 getJSON 函数
- setInterval()序列中的setTimeout()只触发一次
- Javascript只使用setInterval()调用一个子函数一次
- 我想在窗口加载后只调用一次JavaScript setInterval函数
- JS setInterval() 只触发一次
- setInterval 只运行一次
- setInterval 只运行一次
- 如果 else 条件在下一次使用 setInterval 传递后发生
- Javascript 函数 setInterval() 只工作一次
- 循环动画javascript,SetInterval只工作一次
- 为什么 SetInterval 不起作用(它只工作一次)
- 为什么 setInterval 回调只执行一次
- setInterval in setTimout 在 angularjs 控制器中只触发一次
- setInterval-如何只激发一次
- setInterval()是如何工作的?我可以用它每小时更换一次图像吗
- setTimeOut/setInterval只运行一次
- setInterval函数只运行一次
- setInterval,全局范围:运行setInterval一次点击
- 为什么setInterval一次记录所有数据,而不是每次等待指定的时间间隔