我有一個關於.animate函數回調的問題。我試圖讓一個元素在光標離開父元素時淡出。在淡出之後,該元素應該隱藏起來,所以你不能用鼠標懸停在它上面或點擊它。但是,隱藏元素的回調函數在動畫開始時調用,而不是在結束時調用。我嘗試了很多東西,但都沒有成功。如果需要的話,我可以發佈我的所有代碼(並不多,只是一個帶有一些我自己製作的鏈接的小主頁)。jQuery。動畫開始動畫回調觸發
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
你有沒有把[$ .fx.off](http://api.jquery.com/jQuery.fx.off/)設置爲'true'? –
重複的問題請參閱下面的stackoverflow問題。 http://stackoverflow.com/questions/5397260/animates-callback-function-complete-executed-at-start – Akki619
我已經設法通過鏈接在一起的動畫做類似的事情,所以每個動畫運行在以前的回調。你應該能夠在animate()而不是hover()上使用回調嗎? –