如何使用setTimeout或setInterval和JQuery显示然后隐藏元素?

时间:2018-05-30 22:19:53

标签: javascript jquery

我尝试了以下代码(使用我自己的功能)

(function (){ 
  $(".video-front").show(); 
  setTimeout(arguments.callee, 10000); 
})(); 

撰写此帖子Calling a function every 60 seconds

setInterval(function(){ 
  $(".video-AdClick-front").show(); 
}, 10000);

来自这篇文章What's the easiest way to call a function every 5 seconds in jQuery?

但仍然无法正常工作,例如我想每隔5秒调用一次功能,当我添加那些在5秒后只调用一次功能的代码时,每隔5秒不调用一次功能?

1 个答案:

答案 0 :(得分:2)

您的计时器将适用于这些示例中的任何一个。

但是,根据下面的评论,您的两个计时器函数似乎都会调用.show()方法,这会使它们可见。当下一个计时器运行时,它将显示已经显示的内容。这就是为什么你觉得它不起作用的原因。它正在发挥作用,但在第一次运行这些功能后,没有什么新东西可以看到。你想达到什么目的?显示/隐藏情况?如果是这种情况,请不要使用.show(),请使用.toggle()



(function (){
    $("#one").toggle("slow");
    setTimeout(arguments.callee, 1000);
})();

setInterval(function(){
    $("#two").toggle("slow");
}, 1000);

#one, #two { float:left; width:40%; } /* Just for fun! */

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="one">Message one</div>
<div id="two">Message two</div>
&#13;
&#13;
&#13;