在javascript

时间:2016-03-03 21:40:15

标签: javascript

JavaScript Noob在这里。

我想像这样显示动态变化的图像效果: http://dotsignals.org/google_popup.php?cid=202 (如果此网页无法显示更改的图像,请单击http://dotsignals.org上的任何相机)

我检查了代码,并提出了一些问题:

1.网站使用setImagerefreshSetImage来初始化和刷新图像,以获得动态变化的效果。 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.现在我想在我自己的项目中使用这两个函数。我想在camIDsetImage函数中添加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

由于

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);


});

https://jsfiddle.net/Cuchu/vr1ftwg1/