gpt4 book ai didi

javascript - jqModal jQuery 插件 - 如何在模式弹出窗口上设置超时?

转载 作者:行者123 更新时间:2023-11-30 18:52:30 24 4
gpt4 key购买 nike

我正在使用 jQuery 插件 jqModal .

新手,所以我还在学习它的用法。

我想做的是让弹出窗口显示 3 秒,然后自动关闭。

基本上,这是我想要的事件流程:

  1. 我的页面加载。
  2. 显示模式弹出窗口,提示“正在连接到 MySite..”
  3. (3 秒后)模态弹出窗口自动关闭。
  4. 刷新页面(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。

因此我刚刚更改了我的代码以在窗口隐藏后重新加载。

最佳答案

使用 onShow 事件在延迟后关闭它(需要 jQuery 1.4+),否则你可以只使用 javascript 超时来关闭弹出窗口。

var autoClose = function(hash) { $('#jqPopupModal').delay(3000).jqmHide(); }; 
$('#jqPopupModal').jqm({ modal: true, onShow:autoClose});

关于javascript - jqModal jQuery 插件 - 如何在模式弹出窗口上设置超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3340327/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com