JavaScript Noob здесь.Динамическое изменение изображения в javascript
Я хочу показать динамически изменяющийся эффект изображения, как это: http://dotsignals.org/google_popup.php?cid=202 (если эта веб-страница не может показать изменения изображений, нажмите на любой камере на http://dotsignals.org)
Я изучил код, и есть некоторые вопросы:
1. На сайте используются setImage
и refreshSetImage
для инициализации и обновления изображения для динамически изменяющегося эффекта. Что здесь используется в Math.random? Я понимаю, что это способ дифференцировать изображения с разного времени на одной и той же кулачке. Но как это работает? Как ответит бэкэнд?
2.Удалите первый вопрос. Каков механизм refreshSetImage? Я не видел никаких признаков запроса данных с сервера. Отправляет ли он «ПОЛУЧИТЬ»? Как обновить изображение?
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
- это строка, которая идентифицирует разные камеры. Я изменил его на:
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
?
Благодаря
math.random является убедитесь, что изображение вы запрашиваете не из кэша. Вы добавляете «уникальный» ключ, чтобы убедиться, что браузер действительно пытается получить новое изображение. Как сконфигурирован бэкэнд: хороший вопрос ... спросите у оригинальных разработчиков .. Если вы хотите сделать свой собственный бэкэнд .. также спросите их: возможно, они ограничили доступ к своей петле видео, и это * могло бы быть почему вы получаете сообщение об ошибке (но это всего лишь догадка ( – Leon
http://207.251.86.238/cctv9.jpg?time=1 http://207.251.86.238/cctv9.jpg?time=2 время или математика params, если reload image .. и в вашей проблеме, camID не определен, это ошибка, когда вы не назначаете значение в своей переменной – Cuchu
Я заставлял его работать, периодически запрашивая данные с задней части с помощью JQuery get() – Keying