如何在 jQuery 中发生事件后做某事?
Posted
技术标签:
【中文标题】如何在 jQuery 中发生事件后做某事?【英文标题】:How to do something after an event in jQuery? 【发布时间】:2015-10-11 19:07:30 【问题描述】:我想在另一个动画完成后播放一个动画。
我使用了这个代码:
$("#test_01").stop().animate(height: '500', 2500).promise($("#test_02").fadeIn(2500));
这会同时为两者设置动画 - 这不是我想要的。
我需要先运行$("#test_01")
,然后运行$("#test_02")
。
我该怎么做?
【问题讨论】:
【参考方案1】:用你的代码试试done
:
$("#test_01").stop().animate(
height: '500',
2500
).promise().done(
function()
$("#test_02").fadeIn(2500)
);
done
函数回调将在动画中的所有代码完成后工作。
【讨论】:
很高兴帮助标记我的答案已验证,以便对其他人也有帮助【参考方案2】:只需使用animate()的完整回调
$("#test_01").stop().animate(
height: '500'
, 2500, function ()
$("#test_02").fadeIn(2500)
);
如果您正在寻找基于 promise 的解决方案,那么您需要获取 promise 对象,然后将 done 回调添加到您将执行延迟操作的 promise 中
【讨论】:
以上是关于如何在 jQuery 中发生事件后做某事?的主要内容,如果未能解决你的问题,请参考以下文章