我有一个我正在制作动画的导航。但是文本跳转是因为它在动画完成之前显示,所以我想在触发300ms
之前设置display:inline-block
的延迟。我不能让它工作?有任何想法吗?
$(".left-navigation ul li").hover(function(){
$(this).stop().animate({'width': '100%'}, 200);
$(this).find("span.nav-text").delay(300).css("display", "inline-block");
}, function(){
$(this).stop().animate({'width': '35px'}, 200);
$(this).find("span.nav-text").css("display", "none");
});
答案 0 :(得分:2)
使用回调!
$(this).stop().animate({'width': '100%'}, 200, function(){
// set your object visible here
});
答案 1 :(得分:0)
animate
有一个回调参数,该参数将在动画完成后执行。试试这个:
$(".left-navigation ul li").hover(function(){
$(this).stop().animate({'width': '100%'}, 200, function() {
$(this).find("span.nav-text").delay(300).css("display", "inline-block");
});
}, function(){
$(this).stop().animate({'width': '35px'}, 200, function() {
$(this).find("span.nav-text").css("display", "none");
});
});
答案 2 :(得分:-1)
您正在寻找.setTimeout()功能。祝你好运!