2012-05-22 47 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!' 
    }); 

}