1

我对 .animate 函数的回调有疑问。当光标离开其父元素时,我试图让元素淡出。淡出后,该元素应该被隐藏,因此您不能将光标悬停在它上面或单击它。但是,隐藏元素的回调函数在动画开始时调用,而不是在结束时调用。我已经尝试了很多东西,但没有任何效果。如果需要,我可以发布我所有的代码(不多,只是一个带有一些我为自己制作的链接的小主页)。

var fadeIn = {opacity: "1"};
var fadeOut = {opacity: "0"};

$(".link-main").hover(function(){
    $(this).children(".link-sub").css("z-index", "10").show().animate(fadeIn, 100);
}, function(){
    // The animation.
    $(this).children(".link-sub").animate(fadeOut, 100, "swing", function(){
        $(this).hide();
    });
});

此外,无论出于何种原因,简单地使用 .fadeIn 和 .fadeOut 都不起作用。元素会立即消失。

提前致谢!

编辑:这就是我现在拥有的 jsfiddle.net/rqfcZ

4

2 回答 2

2

.fadeIn.fadeOut他们.show()自己.hide()。尝试删除它们而不使用动画。

只是$(element).fadeOut()

同样对于事件,您使用的是旧的 jquery 语法。看看文档.on()

于 2013-07-26T13:15:43.453 回答
0

@Frederic Hamidi 我的错....道歉

请访问此链接以获取解决方案

http://fisherwebdev.com/wordpress/2009/06/08/scope-issues-with-the-callback-to-jquerys-animate-function/

快速浏览上面的链接并得出结论,您需要为此添加一个 ref 变量。

于 2013-07-26T13:38:24.790 回答