web-dev-qa-db-ja.com

点滅しないjquery自動更新

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

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

これでページは毎秒リロードされ、これを修正する方法が点滅する唯一の問題

16
Ivo

Divと.getをjqueryとともに使用して、Webサイトの別のページからデータを取得できます。

SetTimeOut(function、time)を使用できます

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

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

ページが完全にリロードされ、それ自体が上書きされる場合(リロードを実行しているスクリプトを含む)、このバージョンを試してください:

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

まばたき効果なしでは、そのようにページをリロードすることはできません。 AJAXを見て、ページの更新されたコンテンツを取得し、「既存の」ページに非同期で表示してください。

ご覧ください: http://www.brightcherry.co.uk/scribbles/jquery-auto-refresh-div-every-x-seconds/ 、画面の一部(一部一意の<DIV>)。

4
Francois

関数で答えてくれてありがとう、しかし私が約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関数は非常に迅速に起動されるか、さらに繰り返されます。

1
Mareg