JavaScript Noob在这里。
我想像这样显示动态变化的图像效果: http://dotsignals.org/google_popup.php?cid=202 (如果此网页无法显示更改的图像,请单击http://dotsignals.org上的任何相机)
我检查了代码,并提出了一些问题:
1.网站使用setImage
和refreshSetImage
来初始化和刷新图像,以获得动态变化的效果。 Math.random在这里有什么用?我知道这是一种在同一个凸轮上区分不同时间图像的方法。但它是如何运作的?后端将如何回应?
2.与第一个问题有关。 refreshSetImage的机制是什么?我没有看到任何从服务器请求数据的迹象。是否发送" GET"?它如何刷新图像?
function setImage(imageID){
var currentImage = imageID;
document.getElementById(currentImage).src ='http://207.251.86.238/cctv9.jpg'+'?math=';
refreshSetImage();
}
function refreshSetImage() {
document.images["myCam"].src = 'http://207.251.86.238/cctv9.jpg'+'?math='+Math.random();
setTimeout('refreshSetImage()',1000);
}
function ScaleSize(imageID) {
var elem = document.getElementById(imageID);
elem.style.width = 500;
elem.style.height = 300;
}
3.后端如何设计?
4.现在我想在我自己的项目中使用这两个函数。我想在camID
和setImage
函数中添加refreshSetImage
参数,因此图片的src
将更改为:'http://..../'+camID+'.jpg'+'?math'
。 camID
是一个标识不同摄像头的String。我改成了:
function refreshSetImage(camID) {
document.images["myCam"].src = 'http://207.251.86.238/'+camID+'.jpg'+'?math='+Math.random();
setTimeout('refreshSetImage(camID)',1000);
}
function setImage(imageID,camID){
var currentImage = imageID;
document.getElementById(currentImage).src = 'http://207.251.86.238/'+camID+'.jpg'+'?math=';
refreshSetImage(camID);
}
并收到错误:Uncaught ReferenceError: camID is not defined VM132:1
。图像也没有变化。我不知道是什么问题。什么是VM132:1
?
由于
答案 0 :(得分:-1)
检查
function refreshSetImage(imageID,camID) {
currentImage = imageID;
url = 'http://207.251.86.238/'+camID+'.jpg'+'?math='+Math.random();
//document.getElementById(currentImage).src= url;
console.log(url);
}
$(document).ready(function(){
imageID = "imageID";
camID = "camID";
setInterval(function() {
refreshSetImage("imageID","camID");
}, 3000);
});