17
<script type="text/javascript">
window.onload = setupRefresh;

function setupRefresh() {
  setTimeout("refreshPage();", 1000);
}
function refreshPage() {
   window.location = location.href;
}

该页面现在每秒重新加载唯一的问题它闪烁如何解决这个问题

4

4 回答 4

33

您可以使用 div 和 .get 与 jquery 从您网站上的另一个页面获取您的数据。

您可以使用 setTimeOut(function, time)

$(function() {
    startRefresh();
});

function startRefresh() {
    setTimeout(startRefresh,1000);
    $.get('pagelink.php', function(data) {
        $('#content_div_id').html(data);    
    });
}
于 2012-11-10T18:36:38.693 回答
7

如果页面完全重新加载并覆盖自身(包括正在重新加载的脚本,那么试试这个版本:

function startRefresh() {
    $.get('', function(data) {
        $(document.body).html(data);    
    });
}
$(function() {
    setTimeout(startRefresh,1000);
});
于 2015-03-12T14:51:51.697 回答
4

如果没有闪烁效果,您将无法以这种方式重新加载页面。查看 AJAX 以获取页面的更新内容并将其异步显示在“现有”页面中。

看看:http ://www.brightcherry.co.uk/scribbles/jquery-auto-refresh-div-every-x-seconds/ ,刷新部分屏幕(该部分可以是<DIV>页面的唯一部分)。

于 2012-11-10T17:41:51.840 回答
2

感谢您对函数的回答,但如果我想使用大约 1 分钟的延迟,我必须通过这种方式开始延迟调用函数:

<script type="text/javascript">
//<![CDATA[
var vTimeOut;

$(function() {
  vTimeOut= setTimeout(startRefresh, 60000)
});


function startRefresh() {
  clearInterval(vTimeOut);
  vTimeOut= setTimeout(startRefresh, 60000);
  $(<#div>).load(<loadURL>);
}

//]]>
</script>

否则,startRefresh 函数会很快触发或重复更多次。

于 2014-01-03T11:41:59.193 回答