可能重复:
JavaScript 中有睡眠功能吗?
我该如何添加延迟以使其关闭并在这么多秒后重定向?
<script type="text/javascript">
$(function() { parent.$.fancybox.close(); });
window.parent.location.href = '/shop/basket';
</script>
可能重复:
JavaScript 中有睡眠功能吗?
我该如何添加延迟以使其关闭并在这么多秒后重定向?
<script type="text/javascript">
$(function() { parent.$.fancybox.close(); });
window.parent.location.href = '/shop/basket';
</script>
window.closeAndRedirect = function() {
parent.$.fancybox.close();
window.parent.location.href = '/shop/basket';
}
setTimeout(closeAndRedirect, 5000); // 5 seconds
@jAndy 指出:如果您仍然要重定向,为什么要关闭某些东西?这是一个有效的观点。
也许你的意思是关闭,然后在关闭后 5 秒重定向?如果是这样:
parent.$.fancybox.close(function() {
setTimeout(function() {
window.parent.location.href = '/shop/basket';
});
});
假设 close 有一个回调。如果没有,也许:
parent.$.fancybox.close();
setTimeout(function() {
window.parent.location.href = '/shop/basket';
});
使用setTimeout并从回调中调用您的函数。
就像是:
$(function() {
setTimeout(function() {
parent.$.fancybox.close();
window.parent.location.href = '/shop/basket';
}, 5000);
});
等待 5 秒,从 DOM 准备好时开始。
实际上,您不需要在打开的(子)页面中执行此操作,而是直接在父页面上执行此操作....只需setTimeout
在自定义 fancybox 脚本中的回调内部使用来编写关闭和重定向任务,例如:
$(".fancybox").fancybox({
afterLoad: function () {
setTimeout(function () {
$.fancybox.close();
window.location.href = "/shop/basket";
}, 5000); // 5000 = 5 secs
}
});