【发布时间】:2011-09-07 16:12:43
【问题描述】:
类似于How to reload/refresh an element(image) in jQuery,但不是同时。
我有一个网络摄像头,它每 2 秒保存一次图像,而不是流式传输。使用 jQuery(或直接 JS)我只想刷新图像元素。
应该很简单,但我的所有搜索都会根据请求显示刷新。
【问题讨论】:
标签: javascript jquery html image
类似于How to reload/refresh an element(image) in jQuery,但不是同时。
我有一个网络摄像头,它每 2 秒保存一次图像,而不是流式传输。使用 jQuery(或直接 JS)我只想刷新图像元素。
应该很简单,但我的所有搜索都会根据请求显示刷新。
【问题讨论】:
标签: javascript jquery html image
setInterval(function(){
$("#myimg").attr("src", "/myimg.jpg?"+new Date().getTime());
},2000);
【讨论】:
new Date().getTime()。如果你使用d.getTime(),你必须先分配它var d = new Date();
您必须强制浏览器重新加载图像,而不是从缓存中获取图像。您可以通过更改 url 来做到这一点,添加一个每次都会更改的无用参数,例如时间戳。
$('img.webcam').each(function() {
var jqt = $(this);
var src = jqt.attr('src');
src = src.substr(0,src.indexOf('?'));
src += '?_ts=' + new Date().getTime();
jqt.attr('src',src);
});
在计时器内或单击时执行此 sn-p,或两者兼而有之。
【讨论】:
setInterval 是一个计时器,它将在 x 毫秒内执行一个函数
setInterval(function () {
var d = new Date();
$("#myimg").attr("src", "/myimg.jpg?"+d.getTime());
}, 2000);
【讨论】:
这应该可以完成工作:
window.setInterval(function() {
var d = new Date();
$("#myimg").attr("src", "/myimg.jpg?"+d.getTime());
}, 2000);
【讨论】:
为将刷新的图像源添加时间戳。
setInterval(function(){
$("img").each(function(){
var timeStamp = (new Date()).getTime();
$(this).attr("src", $(this).attr("src") + timeStamp );
});
}, 2000);
【讨论】: