如何在动画结束后触发动画
how to trigger an animation after another ends
我想在另一个动画结束后触发jQuery动画。
以下是第一次发生的情况,这是向下滑动到第二个导航栏:
$(".navigation-bar1").click(function() {
$('html,body').animate({
scrollTop: $(".navigation-bar2").offset().top
}, 'slow');
});
第二个动画,这触发了一个打开导航栏的css:
$(".trigger-navbar").click(function() {
$("body").toggleClass("navbar-down");
});
在官方文档上,您可以看到animate()
的签名是
.animate( properties [, duration ] [, easing ] [, complete ] )
[, complete]
是您感兴趣的部分:您可以编写一个函数,该函数将在动画结束时调用。
因此,在您的情况下,您可以尝试:
$(".navigation-bar1").click(function() {
$('html,body').animate({
scrollTop: $(".navigation-bar2").offset().top
},
'slow',
function(){
// This will be executed after the animation ends
$("body").toggleClass("navbar-down");
});
});
您可以使用queue()
函数(假设"trigger-navbar"answers"navigation-bar1"是同一元素的类):
$(".navigation-bar1").click(function() {
$('html,body').animate({
scrollTop: $(".navigation-bar2").offset().top},'slow')
.queue(function() {
$("body").toggleClass("navbar-down");
$(this).dequeue();
});
});
您可以在完整的回调函数中触发新的动画
.animate(属性[,持续时间][,放松][,完成])完整
类型:Function()动画完成后要调用的函数。
从jQuery的文档中,animate()接受了一个回调函数。此功能将在动画完成后执行。
$('html,body').animate({
scrollTop: $(".navigation-bar2").offset().top
}, 'slow', function() {
// Animation complete, do something else
});
两者都用点击来设置触发器的动画?
$(".navigation-bar1").click(function() {
$('html,body').animate({
scrollTop: $(".navigation-bar2").offset().top
}, 'slow');
$(".trigger-navbar").click()
});
animate()
-函数支持完整的回调:
$(".navigation-bar1").click(function() {
$('html').animate({
scrollTop: $(".navigation-bar2").offset().top
}, 'slow', function(){
$("body").toggleClass("navbar-down");
// OR
$(".trigger-navbar").click();
});
});
.animate()
演示
相关文章:
- 在动画结束之前调用函数
- 如何在上一个动画结束后开始动画
- 在动画结束时自动滚动到锚点
- 如何在动画结束后触发动画
- 动画结束侦听器无法正常工作
- 动画结束时执行动画
- 暂时禁用鼠标滚轮,直到动画结束
- 防止回调运行,直到动画结束
- 动画结束在递归函数中不起作用
- jQuery slideDown 函数在动画结束时垂直跳转
- CSS3动画结束技术
- 等待多个元素的动画结束
- 如果在jquery.slideDown()动画结束之前,Javascript侦听器未启动
- transitiononed事件不;我的动画结束时不要开火
- 是否可以暂停while循环直到动画结束
- CSS动画结束时的回调
- 流沙,动画结束时突然更换
- 如何在动画结束后停止velocity.js动画
- 动画结束时反转图像
- javascript animation:为什么下一行在动画结束之前运行