我正在使用 jQuery 插件jqModal。
新手,所以我还在学习它的用法。
我想要做的是显示弹出窗口说 3 秒钟,然后自动关闭。
基本上,这是我想要的事件流程:
- 我的页面加载。
- 显示模式弹出窗口说“连接到 MySite..”
- (3 秒后)模态弹出窗口自动关闭。
- 刷新页面(window.location.reload());
这是我到目前为止所拥有的(不多):
HTML:
<div id="jqPopupModal" style="display: none;">Connecting to My Site...</div>
JS:
window.onload = function() {
showPopup();
window.location.reload();
}
function showPopup() {
$('#jqPopupModal').jqm( { modal: true } );
$('#jqPopupModal').jqmShow();
}
是否有一些参数可以传递给 .jqmShow() 函数来为窗口设置超时?或者我应该挂钩 onShow 回调并做一个简单的 setTimeout?
如果第 2 步和第 4 步异步发生也很好:换句话说,页面刷新同时显示 jQuery 弹出窗口。
有任何想法吗?
编辑:
好的,所以我有打开/关闭延迟工作,但不是window.location.reload()
. 这么说根本不会发生延迟。
这是我的代码:
function fbcPopupOnShow() {{
$('#fbcModalPopup').show();
window.location.reload();
window.setTimeout(new function() {{
$('#fbcModalPopup').jqmHide();
}}, 1000);
}}
function showFacebookConnectPopup() {{
$('#fbcModalPopup').jqm( {{
modal: true,
onShow: fbcPopupOnShow
}});
$('#fbcModalPopup').jqmShow();
}}
我希望window.location.reload()
在显示弹出窗口时重新加载父窗口,而不是其中一个。
编辑2:
发现无法异步重新加载和弹出窗口,因为 jqModal 弹出窗口并不是真正的“弹出窗口”(即不会产生新窗口)。它只是一个隐藏的 DIV。
因此,我刚刚更改了我的代码以在隐藏窗口后重新加载。