【发布时间】:2021-04-29 15:09:15
【问题描述】:
我有两个元素,我希望它们淡入,停留 3 秒,然后使用 jQuery 一个接一个地淡出,但效果是一次性应用的。
$(() => {
$("#first").fadeIn(2000).delay(3000).fadeOut(2000);
$("#second").fadeIn(2000).delay(3000).fadeOut(2000);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<h1 id="first" style="display: none;">First<h1>
<h1 id="second" style="display: none;">Second<h1>
我尝试使用dequeue() 和stop() 方法,但它们都不起作用。是什么导致了这个问题,有没有更好的方法来解决这个问题?
【问题讨论】:
-
问题是
.fadeIn()不是 动画效果,因此不会进入动画队列,而.delay()会延迟动画队列。动画不透明度或使用fadeIn回调.fadeIn(2000, function() { setTimeout($(this).fadeOut(2000), 3000); })(很确定有不止一个现有问题可以详细解释这一点) -
@freedomn-m 谢谢,我会试试的。
标签: javascript html jquery animation