jquery自动刷新而不闪烁

时间:2012-11-10 17:40:02

标签: jquery refresh

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

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

该页面现在每秒重新加载它闪烁的唯一问题如何修复此

4 个答案:

答案 0 :(得分:33)

您可以使用div和.get with jquery从您网站上的其他页面获取数据。

您可以使用setTimeOut(函数,时间)

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

function startRefresh() {
    setTimeout(startRefresh,1000);
    $.get('pagelink.php', function(data) {
        $('#content_div_id').html(data);    
    });
}

答案 1 :(得分:4)

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

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

答案 2 :(得分:4)

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

function startRefresh() {
    $.get('', function(data) {
        $(document.body).html(data);    
    });
}
$(function() {
    setTimeout(startRefresh,1000);
});

答案 3 :(得分:1)

感谢您对功能的回答,但如果我想使用大约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函数会很快激活或重复多次。