javascript setInterval 清除问题

javascript setInterval clear issue

本文关键字:问题 清除 setInterval javascript      更新时间:2023-09-26

我在使用该方法时遇到了一个问题setInterval

当 jsp 页面在那个时间加载(onload)时,我调用了一个 setInterval(function(),time) 方法。以下是我的jsp的加载代码

var refreshLoop = 0;
var refreshFrequency = 900000;
$(window).load(function() {
    startRefresh();
}); 
function startRefresh() {
    refreshLoop = setInterval("refreshScreen()", refreshFrequency);
}

现在我在此页面上具有拖放功能,可将一行从div 拖到另一行div。当我将我的行拖放到另一个表时,该表得到了刷新。我已经完成了 ajax 调用一个下降发生在另一个div现在我想做的是当我的放置 id 完成时,我想清除此 setInterval 并设为默认值。

例如:我已经在页面加载时设置了 setInterval 计时 10 分钟,因此每次它都会在 10 分钟后加载页面。现在,一旦我拖放了它,一旦我将行拖放到另一个div,它将开始计算10分钟。

我已经在JavaScript和ajax中完成了这项工作。

请就此问题提出一些建议。

window.clearInterval(refreshLoop)您希望

清除间隔时。

//try this code
 <script type="text/javascript">
    var refreshLoop = '';
    var refreshFrequency = 900000;
    $(window).load(function() {
        startRefresh();
    });    
    function startRefresh() {
        if(refreshLoop){
            clearInterval(refreshLoop);
            refreshLoop = '';
        }
        refreshLoop = setInterval("refreshScreen()", refreshFrequency);
    }
</script>

如果要清除计时器,请使用:

clearInterval(refreshLoop);
startRefresh();