我对.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
答案 0 :(得分:2)
.fadeIn
和.fadeOut
自己执行.show()
和.hide()
。
尝试删除它们而不使用动画。
只需$(element).fadeOut()
同样对于事件,您使用的是旧的jquery语法。查看.on()
答案 1 :(得分:0)
@Frederic Hamidi我的坏......道歉
请访问此链接以获取解决方案
快速查看上面的链接并得出结论,你需要为此添加一个ref变量。