【发布时间】:2014-09-23 16:14:18
【问题描述】:
一旦一个事件完成动画,我在调用一个事件时遇到问题。
我有 2 个活动正在运行。我想要实现的是当第一个事件完全完成时(它由点击功能控制)然后我想运行第二个事件,它将在我的链接中淡出。我尝试在#slidingMenu 有时应用 .done 函数动画,但动画完成后链接不会淡入,它们只是保持静止。
菜单(点击时)
$(function () {
window.status = 0;
$('#menu').click(function () {
if ($('header').is('.open')) {
var open = $('header').is('.open');
$('#slideWrapper')['slide' + (open ? 'Up' : 'Down')](400);
$('header').animate({
bottom: (open ? '-' : '+') + '=200'
}, 400, function () {
$('header').removeClass('open');
});
if ($('.navFooter button').hasClass('activetoggle')) {
$('.navFooter button').removeClass('activetoggle');
$('.navFooter button').addClass('slidingPanel');
$('.navFooter button').text('Footer');
}
if ($('.gn-icon-menu').hasClass('activetoggle')) {
$('.gn-icon-menu').removeClass('activetoggle');
$('.gn-icon-menu').addClass('gn-icon-menu');
}
}
if (window.status == 0) {
$('#slidingMenu').stop().animate({
left: '0px'
}, 500);
window.status = 1;
$('#slidingMenu').addClass('open');
} else {
$('#slidingMenu').stop().animate({
left: '-100%'
}, 500);
window.status = 0;
$('#slidingMenu').removeClass('open');
}
$('#slidingMenu').click(function () {
if ($('#slidingMenu').is('.open')) {
$('#slidingMenu').stop().animate({
left: '-100%'
}, 500);
window.status = 0;
$('#slidingMenu').removeClass('open');
}
});
});
})
菜单链接淡入
$.when.apply(this, '#slidingMenu').done(function() {
$('.menu-item').each(function(i) {
$(this).fadeOut(0).delay(1000*i).fadeIn(1850);
});
});
【问题讨论】:
-
很抱歉我忘记插入了。我对我的评论进行了编辑并放置了一个小提琴链接@Eirenaios
-
你必须使用回调,回调是在当前函数完成后调用的函数,例如:fadeIn(1850, function (){console.log('I have finished :)') ;});
-
我应该在哪里添加回调? @sudo.ie
标签: javascript jquery html css