页面刷新时定时器问题

时间:2016-06-17 11:20:50

标签: javascript timer

如果秒= 0,我的页面中有一个javascript计时器提交表单。但是问题是,在刷新页面时,计时器从初始值开始。

这是javascript代码

<script>
    secs = 300;
    timer = setInterval(function () {
        var element = document.getElementById("status");
        element.innerHTML = "Remaining :<b>"+secs+" sec</b>";
        if(secs < 1){
            clearInterval(timer);
            document.test.submit();
        }
        secs--;
    }, 1000);

有什么方法可以避免这种情况吗?它可以通过阻止页面重新加载来实现。这可能吗?

2 个答案:

答案 0 :(得分:1)

您可以将当前计时器值作为表单帖子的一部分提交(例如,在提交之前动态添加隐藏的表单元素),然后在页面重新加载后使用此值作为计时器的初始值。

另一种可能性是使用AJAX提交表单,以便不需要页面刷新。要实现这一点,您可以查看jQuery ajax函数: http://api.jquery.com/jquery.ajax/

如果其中一个解决方案听起来不错,我可以提供一个示例。

答案 1 :(得分:0)

在页面加载时重新启动所有变量。如果要保留一些值,则必须使用window.sessionStorage。

https://developer.mozilla.org/en/docs/Web/API/Window/sessionStorage