2017-02-09 108 views
0

JQuery的有關淡入功能手冊:淡入不是等待動畫結束

$("#book").fadeIn("slow", function() { 
    // Animation complete 
}); 

然而我的網頁,我的淡入功能中的代碼不會被觸發一次「動畫完成」上,但馬上,我不明白爲什麼。

$("#contact-callback").fadeIn(5000, function() { 
    $("#callback-message").fadeIn(150); 
    $("##callback-dismiss").fadeIn(150); 
    $("#tab-contact button .fa").removeClass('fa-circle-o-notch fa-spin').addClass('fa-paper-plane'); 
    $('#tab-contact #contact-form')[0].reset(); 
}); 

,我相信我也跟着在說明書中所述的具體型號,但它看起來一定是錯了地方,爲什麼我的淡入功能代碼裏面等待要完成的動畫?

+1

,你說哪個動畫是不完整的下一個運行之前?你是在談論'#contact-callback'還是嵌套在回調中的2'$ .fadeIn()?順便說一句,你有一個錯字'## callback-dismiss' - 你也應該發佈相關的HTML,爲我們創建一個可驗證的演示http://stackoverflow.com/help/mcve –

+0

似乎在一個小測試用例中工作第一個元素是:https://jsfiddle.net/L649z23k/。你指的是哪一部分? 「contact-callback」元素最初是否設置爲「display:none」? –

+0

你好,根據手冊,我認爲主FadeIn函數(#contact-callback)中的所有內容都應該只在動畫完成時觸發?感謝您的錯字,我會馬上添加演示! – eloism

回答

1

你的代碼看起來很好,你的問題可能在你的代碼中的其他地方。看到這個例子:

$("#contact-callback").fadeIn(2000, function() { 
 
    console.log("finished"); 
 
});
#contact-callback { 
 
    width: 100px; 
 
    height: 100px; 
 
    background: green; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<div id="contact-callback" style="display: none;"></div>

+0

感謝,確實有一個問題是一個錯字錯誤,但reset()函數似乎仍然開始早,之後快速搜索它似乎不是孤立的我,我可以嘗試一個替代重置(),看看它是怎麼回事! – eloism