javascript - setTimeout 函数完成时重新加载

标签 javascript jquery

我想在此自定义函数完成后重新加载窗口:

<script type="text/javascript">
$(document).ready(function(){
    setTimeout(function () {
        $('#order_form').dolPopupHide({});
    }, 3000);
    //window.location.reload();
});
</script>

有没有一种方法可以将重新加载添加到 setTimeout 函数,使其在超时结束之前不会运行?

最佳答案

reload 需要在你的函数中:

$(document).ready(function(){
    setTimeout(function () {
        $('#order_form').dolPopupHide({});
        window.location.reload();
    }, 3000);

});

如果你想在概念上将工作与重新加载分开,你可以这样做:

$(document).ready(function(){
    setTimeout(function () {
        doWork();
        window.location.reload();
    }, 3000);

    function doWork() {
        $('#order_form').dolPopupHide({});
    }

});

或者,更一般地说:

function reloadAfterExec(fn) 
    return function() {
        fn();
        window.location.reload();
    }
}

$(document).ready(function(){
    setTimeout( reloadAfterExec(function() {
        $('#order_form').dolPopupHide({});
    }), 3000);

});

关于javascript - setTimeout 函数完成时重新加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3979106/

相关文章:

javascript - 从输入框获取 img src 到 div

javascript - Slick Slider slidesToScroll 修改

javascript - localStorage - 循环遍历 javascript 中特定键的值

javascript 使用脚本点击按钮

JQuery Click/Load 当 mysql 运行时它会在加载事件页面之前显示上一页

javascript - JQuery 动画不起作用。可能语法不正确

javascript - 为什么 ng-class 不能使用类名?

javascript - Google Apps 脚本 OAuth - returnURL 以更新附加组件

javascript - 如何用多个字符替换字符串中的一个字符

jquery - 单个产品的照片库/幻灯片放映是什么意思