jQuery fadeOut回调不会触发...我做错了什么?

时间:2011-05-21 17:50:56

标签: javascript jquery callback fadeout

这里是我正在使用的代码,在mouseenter事件中回调'animate'的工作正常,但淡出的回调却没有。我做错了吗?

$('#about-me .progress-bar .progress .notes li').live('mouseenter',function(){
    $(this).animate({
        top:25
    },function(){
        $(this).find('.caption').stop(true, true).fadeIn(200);
    });     
}).live('mouseleave',function(){
    $(this).find('.caption').stop(true, true).delay(400).fadeOut(400,function(){
        $(this).animate({
            top:40
        });         
    });
}); 

2 个答案:

答案 0 :(得分:0)

  

.fadeOut([duration],[callback])

     

回调:一次调用的函数   动画完成。

如您所见,当fadeOut完成时将调用回调,这意味着您无法看到该元素,那么您如何才能看到其top属性上的动画是否为工作与否?也许你应该在回调函数中使用console.log("something")来查看它是否可以访问。

答案 1 :(得分:0)

你想要为你刚刚褪色的.caption设置动画吗?我怀疑不会,但这正是你的功能所做的。尝试更改:

$(this).animate({
            top:40
        }); 

$(this).parents('li').animate({
            top:40
        }); 

我假设这里的标题只有一个li