【发布时间】:2014-08-17 15:14:40
【问题描述】:
我想在每 2 秒后使 div 淡入和淡出,但 setTimeout 函数只运行一次并隐藏 div,但仅此而已。它不会不止一次这样做:
HTML:
<a href="javascript:void(0);">Pyp1</a>
<div id="disable">
Hello!
</div>
JavaScript (jQuery):
$(document).ready(function(){
setTimeout(function() {
$('#disable').toggle('fast');
}, 2000);
});
但是,当我为单击事件编写相同的内容时,它实际上可以工作:
$(document).ready(function(){
$('a').click(function() {
$('#disable').fadeToggle('fast')
});
});
我尝试过四处搜索(也在 Stack Overflow 中)但无法得到答案,我尝试了点击方法并且它有效,但这不是我要寻找的结果。
问题究竟出在哪里,我该如何解决?
【问题讨论】:
-
setTimeout 运行一次,setInterval 运行多次
-
@dandavis 该死!严重忘记了,抱歉,会删除问题以保持质量,但还有一件事:我听说过一段时间,它实际上停止工作,setinterval,有没有替代方案?
-
你可以从函数底部调用setTimeout调用...
-
有点不清楚,能不能举个例子之类的?
-
$(document).ready(function FN(){ setTimeout(function() { $('#disable').toggle('fast'); setTimeou(FN, 2000) }, 2000 );});
标签: javascript