我想定期加载div中的图像,比如说每隔一两个
我做了一些像这样的愚蠢尝试
$(document).ready(function() {
setTimeout('LoadImages()',100 );
});
function LoadImages()
{
$('#Images').load('get_image.htm'); // get_image.htm displays image
}
</script>
<body>
<div id="Images"><div>
我知道这一切都错了,但需要做些什么才能让它发挥作用?
答案 0 :(得分:2)
您需要setInterval
而不是setTimeout
$(function() {
var i = window.setInterval(function(){
$('#Images').load('get_image.htm');
},1000 );
});
您可以随时使用
停止重新加载clearInterval(i);
答案 1 :(得分:1)
这样做
$(document).ready(function() {
setInterval(function() {
$('#Images').load('get_image.htm'); // get_image.htm displays image
},100 );
});
使用setInterval(),你可以在指定的毫秒数后重复一个函数(在这种情况下为100)
答案 2 :(得分:1)
避免在setTimeout / Interval中使用字符串,只需尝试这个
$(document).ready(function() {
var div = $('#Images');
setInterval(function() {
div.load('get_image.htm'); // get_image.htm displays image
}, 1000);
});
如果你需要每秒拨打一个电话,那么延迟必须是1000
(而不是100,否则你的服务器将获得600 reqs / min而不是60)。
同时创建节点的外部范围引用,这样您就不会在每次函数调用时重新评估$('#Images')
答案 3 :(得分:1)
$(document).ready(function() {
function LoadImages() {
setTimeout(function() {
$('#Images').load('get_image.htm'); // get_image.htm displays image
LoadImages(); // recursive call to LoadImages
}, 1000)
}
});
如果你想在完成图像加载后调用LoadImages()
$(document).ready(function() {
function LoadImages() {
setTimeout(function() {
$('#Images').load('get_image.htm', function() {
LoadImages(); // recursive call to LoadImages
}); // get_image.htm displays image
}, 1000)
}
});
答案 4 :(得分:0)
如果你需要每秒,那么使用setInterval和1000ms是1秒。
$(document).ready(function() {
setInterval('LoadImages',1000 );
});
答案 5 :(得分:0)
setTimeout('LoadImages()',100 )
应该与setTimeout(LoadImages,1000 );
相似1秒,因为setTimeout
获取millisecond
中的区间参数。要每隔一秒执行一次,您应该使用setInterval
setInterval(LoadImages,1000)
。 setTiemout
只运行一次。
as setTimeout
接受函数引用,其中使用'LoadImages()'
将触发eval
并立即执行该函数并返回null。
你也应该使用append而不是一次又一次地将图像加载到div中,这将取代之前的所有。我不确定你是否故意这样做。
$(function() {
var i = window.setInterval(function(){
$('#Images').load('get_image.htm');
},1000 );
});
function LoadImages()
{
$.get('get_image.htm',function(data){
$('#Images').append(data);
});
}