使用Javascript刷新DIV并限制时间

WAU*_*AUS 2 javascript php jquery settimeout

我每隔30秒使用以下javascript刷新页面上的div:

<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
$(function(){
    $(document).ready(function(){
        $.ajaxSetup({cache: false});
    });
    getStatus();
});
function getStatus() {
    $('div#content').load('ajax_stream.php').fadeIn("slow");
    setTimeout("getStatus()",30000);  // refresh every 30000 milliseconds (30 seconds)
}
</script>
Run Code Online (Sandbox Code Playgroud)

在我看来,需要有某种形式的限制,以便在'n'分钟后,我们停止刷新div - 即如果用户永远打开浏览器,我们不只是继续消耗服务器资源.

我怎样才能做到这一点?另外,如果我想在超时时调用DIV内的新文件,最好的方法是什么?

Jon*_*han 5

也许你可以,只需存储超时并检查以毫秒为单位的时间是否低于希望脚本停止的时间(以分钟为单位)?

var timerunning;
...
timerunning = timerunning + 30000;
if(timerunning < 120000){
    setTimeout("getStatus()",30000); 
}
Run Code Online (Sandbox Code Playgroud)

没试过,祝你好运:)