gpt4 book ai didi

javascript - 如何在关闭 fancybox 时停止页面重定向?

转载 作者:行者123 更新时间:2023-12-02 16:01:01 27 4
gpt4 key购买 nike

我有以下代码

<script type="text/javascript">
jQuery(document).ready(function() {
beginCartnotification();
});
setTimeout(function () {
window.location.href = "http://www.someurl.com";
}, 5000);
</script>


<script type="text/javascript">
jQuery.fancybox({
'width': '300',
'height': '90',
'padding': '40px',
'autoDimensions': false,
'border': '1px solid #005195',
'autoScale': false,
'transitionIn': 'fade',
'transitionOut': 'fade',
'showCloseButton': true,
'type': 'inline',
'href': '#cartnotification-popup',
'onClosed': function(){ //perform some task on closing the fancybox.}
});
}
</script>

现在我想要做的是,如果用户单击精美框上的关闭按钮,页面不应重定向。

如果用户在 5 秒后未单击关闭按钮,则应将用户重定向到另一个页面。

如何在onClosed函数中实现?

http://fancybox.net/api

最佳答案

只需在fancyboxonComplete属性中添加一个setTimout,一旦内容显示就会调用该属性。如果在关闭 fancybox 之前达到超时,请执行重定向。

onClose属性函数中清除超时,以确保window.loaction更改不会被触发。

还将 fancybox 设置添加到 jQuery 的 .ready() 方法中,以确保文档准备好后立即进行初始化。

<script type="text/javascript">
jQuery(document).ready(function() {

beginCartnotification();

// ADD A VAR TO HOLD YOUR TIMER.
var timer;

jQuery.fancybox({
'width': '300',
'height': '90',
'padding': '40px',
'autoDimensions': false,
'border': '1px solid #005195',
'autoScale': false,
'transitionIn': 'fade',
'transitionOut': 'fade',
'showCloseButton': true,
'type': 'inline',
'href': '#cartnotification-popup',
'onComplete': function() {
timer = setTimeout(function () {
// REDIRECTING TAKES PLACE AFTER 5 SEC.
window.location.href = "http://www.someurl.com";
}, 5000);
},
'onClosed': function() {
// CLEAR THE TIMEOUT !!!
clearTimeout(timer);
}
});

});
</script>

关于javascript - 如何在关闭 fancybox 时停止页面重定向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31209639/

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