我有菜单与滑翔/滑翔动画附加到悬停事件。
如果我悬停在下一个菜单位置上,而前面的菜单仍然是用slideDown动画的,我想等待slideDown完成,然后启动当前位置的slideUp。
我试着使用“承诺对象”,但它根本不起作用。
$('.menu-2>ul>li').each(function(){
$(this).hover(
function(){
var choice = $('ul', this);
('.menu-2>ul>li>ul').promise().done(function( ) {
choice.slideDown();
});
},
function(){
$('ul', this).slideUp(200);
}
);
});发布于 2015-10-22 14:49:27
您可以在slideDown完成后添加一个回调。试一试例子:
choice.slideDown("fast",function(){your function})这是只调用动画完成
更新
$('.menu-2>ul>li').each(function(){
$(this).hover(
function(){
var choice = $('ul', this);
('.menu-2>ul>li>ul').promise().done(function( ) {
choice.slideDown(500);
});
},
function(){
$('ul', this).delay(500).slideUp(200);
}
);
});https://stackoverflow.com/questions/33283718
复制相似问题