我不确定这是否可行,但是我能够以某种方式在服务器秒内刷新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(){};
答案 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);
}
});