gpt4 book ai didi

javascript - 单击时停止多次执行 jquery 动画

转载 作者:太空宇宙 更新时间:2023-11-04 16:14:39 25 4
gpt4 key购买 nike

我正在尝试创建一个元素,它可以在点击后消失。该代码显然有效,但是,如果您尝试多次单击 div,您将看到动画重新启动并执行多次。

有没有办法让它在多次点击的情况下只播放一次?

这是我得到的:

$(document).ready(
function() {
$('#movingDiv').click(function() {
$(this).hide('slide', {
direction: 'right'
}, 1000);
});
});
#movingDiv {
width: 50%;
height: 3em;
border: 3px solid red;
color: #000;
background-color: orange;
text-align: center;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/jquery-ui.js"></script>
<div id="movingDiv">Some content.</div>

最佳答案

您需要在每次点击时清除动画队列,而不是堆叠动画。您可以使用 stop() 来实现这一点:

$(document).ready(function(){
$('#movingDiv').click(function() {
$(this).stop().hide('slide', { direction: 'right' }, 1000);
});
});

Working example

this makes the animation stop momentarily when you click on it

这是真的。这是由于元素动画的缓动效果。一种可能的解决方法是只允许单击该元素以将其隐藏。

$('#movingDiv').one('click', function() {
$(this).hide('slide', { direction: 'right' }, 1000);
});

Working example

关于javascript - 单击时停止多次执行 jquery 动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32883904/

25 4 0
太空宇宙
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com