setTimeout 仅运行一次而不是重复运行[关闭]

2024-03-14

我想让 div 每 2 秒淡入和淡出一次,但 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);
});

Fiddle http://jsfiddle.net/7av7ehtd/

但是,当我为点击事件编写相同的内容时,它实际上有效:

$(document).ready(function(){
    $('a').click(function() {
        $('#disable').fadeToggle('fast')
    });
});

Fiddle http://jsfiddle.net/vpddna4n/

我尝试过搜索(也在 Stack Overflow 中)但找不到答案,我尝试了点击方法并且它有效,但这不是我正在寻找的结果。

问题到底出在哪里以及如何解决?


这是因为 setTimeout 只运行一次,怎么能期望它运行多次呢?使用setInterval反而。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

setTimeout 仅运行一次而不是重复运行[关闭] 的相关文章