我们试图在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