我們試圖在fancybox中顯示一條消息,在成功回發頁面後的頁面加載事件中。jQuery document.ready奇怪的行爲
Page.ClientScript.RegisterStartupScript(GetType(), "Script", "ShowPopup('popup');", true);
這裏的javsacript功能ShowPopup:
function showPopup(p) {
ShowFancyBoxDiv("#divMessage", 50, 300);
}
但是,當我們我們使用的ASP.NET.Here的在cs文件的代碼Page.RegisterClientScript方法註冊腳本到頁面做到這一點,只有窗口視圖中的第一頁呈灰色顯示,當向下滾動時,頁面的其餘部分仍處於活動狀態,並且未經處理。
但是,當我們添加一個計時器,如下所示,一切工作正常。
$(document).ready(function() {
setTimeout(function() {
ShowFancyBoxDiv("#divMessage", 50, 300);
$("#fancybox-close").css("display", "none");
}, 1000);
});
所以,任何人都可以解釋這裏發生了什麼。 document.ready應該自動檢查要完全加載的文檔,那麼爲什麼我們需要使用該定時器功能?謝謝。
DID NOT WORK。 (document).load(function(){ShowFancyBoxDiv(「#divMessage」,50,300);}); 但使用此時,不知道爲什麼,但ShowFancyBoxDiv()甚至沒有被解僱? 另外,即使我使用了1秒的超時時間,頁面的各種元素仍然在加載(當通過螢火蟲的'net'標籤進行檢查時),但fancybox仍然正常顯示。所以,我相信,問題一定是別的。 – MrClan 2011-12-20 11:44:48
@PratikChandra - 對不起,我的代碼有一個錯誤。現在嘗試使用$(window).load代替。謝謝你,感謝你的工作, – mrtsherman 2011-12-20 13:46:05
。 – MrClan 2011-12-21 10:24:27