"刷新"异步页面每隔n秒在while循环中

时间:2016-09-28 12:50:59

标签: jquery html asp.net-mvc

我试图让我的页面刷新"异步(我刷新包含部分视图的div元素)var edit = true。当我点击我的按钮时,编辑被更改,该按钮具有类:btn。我想知道我应该把代码放在哪里。

我应该把我的while循环放在我的$(文件).ready中吗? 我很失落,因为这对我来说是全新的。

这是我的代码:

var edit = true;

while(edit){
    window.setInterval(function(){
      alert('5 seconds');
    }, 5000);
}

$(document).on('click','.btn', function(){
    if(edit ? edit = false : true);
}

2 个答案:

答案 0 :(得分:2)

您不需要while来持续刷新。只要您单击按钮并在下次单击时重新启动它,就可以使用clearInterval



var interval, i = 0;

$('button').click(function() {
    if( interval ) {
        interval = clearInterval(interval);
    }
    else {
      interval = setInterval(function() {
          console.log(++i);
      }, 1000);
    }
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>start / stop</button>
&#13;
&#13;
&#13;

编辑注释时,要直接启动间隔,我会将其封装到函数中并使用它。也许是这样的:

&#13;
&#13;
var interval, i = 0;

function startInterval() {
    if( !interval ) {
        interval = setInterval(function() {
            console.log(++i);
        }, 1000);
    }

    return interval;
}

// start on document load
$(startInterval);

// start / stop on button click
$('button').click(function() {
    interval = interval ? clearInterval(interval) : startInterval();
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>start / stop</button>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

下面每隔一段时间刷新页面(例如:30秒)

<head>
<meta http-equiv="refresh" content="30">
...
</head>