2012-11-10 43 views
16
<script type="text/javascript"> 
window.onload = setupRefresh; 

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

jQuery的自动刷新无闪烁

页现在重装闪烁如何解决这一问题

+0

你需要使用Ajax和直接在DOM – Ankur

+1

它看起来像应用内容它做它应该没有?为什么你想每秒重新加载页面? – frenchie

+1

当然它会闪烁..页面需要重新加载,这需要一点时间。也不需要做你在做什么使用JavaScript,只需使用'meta'标记 – charlietfl

回答

31

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

可以使用的setTimeout(函数,时间)

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

function startRefresh() { 
    setTimeout(startRefresh,1000); 
    $.get('pagelink.php', function(data) { 
     $('#content_div_id').html(data);  
    }); 
} 
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函数非常快速地激发或重复更多次。

4

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

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