不同,並提前抱歉,我不知道我遇到的問題的術語。 本質上講,這硬編碼版本按預期工作:功能行爲與硬編碼
$("#navbar").on("click", "#contactLink", loadContact);
function loadContact() {
$("#navbar ul li a").removeClass("selected");
$("#contactLink").addClass("selected");
$("#page").fadeOut(500, function(){
$("#content").load("TGCContact.html .insert", function() {
$("#page").fadeIn(1000);
});
});
return false;
}
但低於版本暫停了500毫秒(包括「選擇」鏈接更新)然後清空#內容,並直接跳轉到淡入():
$("#navbar").on("click", "#contactLink", function(){
loadContact('TGCContact.html .insert', '#contactLink');
});
function loadContact (htmlPage, newLink) {
$("#navbar ul li a").removeClass("selected");
$(newLink).addClass("selected");
$("#page").fadeOut(500, function(){
$("#content").load(htmlPage, function() {
$("#page").fadeIn(1000);
});
});
return false;
}
硬編碼版本不錯而且流暢。有人可以解釋爲什麼會發生這種情況,以及如何解決它? 謝謝
你能爲此設置一個小提琴嗎? – 2014-09-05 00:08:37
以500作爲參數的fadeOut調用可能與此有關...... – Jay 2014-09-05 00:08:53
經過多一點研究後,似乎是傳遞函數調用而不是函數引用的問題。 難道是在第二個例子中loadContact函數被調用?它似乎傳遞函數(){loadContact(...);}是一個有效的參考。 – user3732322 2014-09-05 00:21:13