setTimeout只运行一次而不是重复运行

时间:2014-08-17 15:14:41

标签: javascript

我想在每2秒后制作div fadeIn和fadeOut,但是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

然而,当我为click事件编写相同的东西时,它确实有效:

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

Fiddle

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

问题究竟在哪里,我该如何解决?

1 个答案:

答案 0 :(得分:1)

这是因为setTimeout只运行一次,你怎么能指望它多次运行?请改用setInterval