2012-11-10 39 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); 
});