效果结束前回调?
我正在使用 JQuery-UI。我想在当前效果完成之前开始一种新效果。是否可以?
目前,我正在使用类似以下代码:
div1.hide({
duration: 1000,
easing: 'easeOutQuint',
effect: 'drop',
direction : 'up'
});
div1.promise().done(function(){
div2.show();
});
谢谢!
编辑:如果可能的话,我想避免计时器。
I am using JQuery-UI. I want to start a new effect before the current one has finished. Is it possible?
Currently, I'm using something like this code:
div1.hide({
duration: 1000,
easing: 'easeOutQuint',
effect: 'drop',
direction : 'up'
});
div1.promise().done(function(){
div2.show();
});
Thank you!
Edit: I 'd like to avoid timers, if possible.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您只需使用
setTimeout()
即可完成此操作:上面的代码将在
div1.hide() 持续时间之前大约 100 毫秒有效启动
结束(换句话说:1000 毫秒的动画开始后 900 毫秒)。div2.show()
You can do it simply by using
setTimeout()
:The above will effectively start
div2.show()
aproximately 100 miliseconds before the duration ofdiv1.hide()
ends (in other words: 900 miliseconds after the 1000-miliseconds animation starts).您可以使用 $.stop() 取消当前效果
You can cancel the current effect using $.stop()