重複の可能性:
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({
afterLoad: function () {
setTimeout(function () {
$.fancybox.close();
window.location.href = "/shop/basket";
}, 5000); // 5000 = 5 secs
}
});
JSFIDDLEを参照してください