2012-05-22 44 views
0

我喜歡這個插件: http://jquery.malsup.com/block/#demos的setTimeout當pageLoad的完整的 - jQuery的

的iPhoto(ISH)一個精美的作品在我的網站至今。我點擊一個按鈕,塊出現並加載新的頁面。

但是,我想設置setTimeout值是當下一頁已完成加載。所以一旦頁面完全加載,塊就會消失。

我該如何做到這一點?

謝謝

+0

你可以發送一個鏈接,這樣我們就可以看到你的網站? –

+0

我真的希望我可以,但它在本地服務器上,我目前還無法提供訪問權限。 – michaelmcgurk

回答

1

我想你必須使用ajax來重新加載內容。

你可以這樣做:

$('#TheLastElementThatYouReload').ready(function() { 

// set timeout/hide block 

}); 

我不確定爲什麼你需要超時,但這樣一來,你就不會需要它。

+0

嗨Kryptonite。你能否告訴我如何在OP的malsup例子中使用它?我會用什麼來替換'#TheLastElementThatYouReload'? – michaelmcgurk

+0

它並不適合這個例子。我只是說,當你完成重新加載你的頁面時,你應該調用$ .unblockUI。最好的地方是在你重新加載你的dom元素之後。我需要看你的頁面來說明這個元素的ID是什麼。在malsup示例中使用setTimeout作爲隱藏彈出窗口的快捷方式。 – Kev

1

如果您通過AJAX加載新的頁面,在此頁面:

http://jquery.malsup.com/block/#overview

有這樣的:

$(document).ajaxStart($.blockUI).ajaxStop($.unblockUI); 

哪種類型的結合本身的每一個阿賈克斯負載。我想不是的setTimeout你應該把一個事件加載頁面結束以來的setTimeout只能隨着時間的推移和「猜測」頁面的加載時間並沒有太大的意義

希望這有助於

+0

嗨達格!感謝您的及時迴應。我並不是Jquery最熱門的。你是否能夠向我展示我應該在這裏做什麼?謝謝。 – michaelmcgurk

1

我不知道你是如何加載頁面,但如果當網頁加載做你可以給一個函數,做這樣的事情:

function page_loaded(){ 

    $.blockUI({ 
     message: 'page loaded!' 
    }); 

}