仅使用服务器时间而不是JS刷新div

时间:2018-11-28 04:00:43

标签: javascript jquery html timer

我不确定这是否可行,但是我能够以某种方式在服务器秒内刷新div而不是jquery计时器吗?

或者在所有图像都加载完毕之前可能不会启动计时器?

此方法有效,但是它经常不同步,可能是由于某些图像仍在尝试加载。

此代码是在线获得的

标记:

refreshing in <div id="countDown"></div> 

10秒后刷新div:

$(document).ready( function(){
$(' #avatars').load(' #avatars');
refresh();
}); 

function refresh()
{
setTimeout( function() {
    $(' #avatars').load(' #avatars');
    refresh();
}, 10000);
}

jQuery 15秒计时器,0后重置为15

window.onload = function() {
startCountDown(10, 1000, myFunction);
}
function startCountDown(i, p, f) {
var pause = p;
var fn = f;
var countDownObj = document.getElementById("countDown");

countDownObj.count = function(i) {
//  write out count
countDownObj.innerHTML = i;
if (i == 0) {
//  execute function
    fn();
    startCountDown(10, 1000, myFunction);
    //  stop
    return;
}
setTimeout(function() {
        //  repeat
        countDownObj.count(i - 1);
}, pause);
}
//  set it going
countDownObj.count(i); 
}

function myFunction(){};

2 个答案:

答案 0 :(得分:0)

如果只是想延迟计时器,直到无法加载图像,则可以在$('#avatars')。load('#avatars');上使用回调函数。启动计时器?

function refresh(){
  $('#avatars').load('#avatars', function(){
    setTimeout(function(){
      refresh();
    }, 10000);
    startCountDown(10, 1000, myFunction);
  });
}

我相信,直到图像加载完成后,这才开始倒数。

答案 1 :(得分:0)

加载状态成功时,调用刷新功能。有关更多信息,请参见http://api.jquery.com/load/

$("#avatars").load(url, function(responseTxt, statusTxt, xhr) {
    // debugger;
     if (statusTxt == "success") 
        {   
         refresh();     
        }
    if (statusTxt == "error") 
        {
         console.log("Error: " + xhr.status + ": " + xhr.statusText);
        }
   });