0

我在使用setInterval方法时面临一个问题。

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

var refreshLoop = 0;
var refreshFrequency = 900000;

$(window).load(function() {
    startRefresh();
}); 

function startRefresh() {
    refreshLoop = setInterval("refreshScreen()", refreshFrequency);
}

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

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

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

请就这个问题提出一些建议。

4

3 回答 3

1
//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>
于 2013-10-07T09:26:32.370 回答
1

window.clearInterval(refreshLoop)每当您想清除间隔时。

于 2013-10-07T09:23:40.053 回答
0

当您想清除计时器时,请使用:

clearInterval(refreshLoop);
startRefresh();
于 2013-10-07T09:22:53.777 回答