zlobin
@zlobin
Занимаюсь программированием на PHP

В чем ошибка в скрипте (JS)?

Добрый день!


Вопрос к тем кто знает JavaScript


есть скрипт, писал не я

var img_id = new Array(1,1,2,3);<br/>
<br/>
var img_color = new Array(<br/>
'Brilliant 1',<br/>
'Brilliant 1',<br/>
'Brilliant 2',<br/>
'Brilliant 3'<br/>
);<br/>
<br/>
var img_url = new Array(<br/>
'color/1.jpg',<br/>
'color/1.jpg',<br/>
'color/2.jpg',<br/>
'color/3.jpg'<br/>
);<br/>
<br/>
var img_arr = new Array();<br/>
function preloadImages()<br/>
{<br/>
 for (var id in img_url) {<br/>
 img_arr[id] = new Image;<br/>
 img_arr[id].src = img_url[id];<br/>
 }<br/>
}<br/>
<br/>
preloadImages(); <br/>
<br/>
function setMainImage(id)<br/>
 { <br/>
 if(id &lt;= 50)<br/>
 {<br/>
 big = document.getElementById('main_image');<br/>
 document.getElementById('login_response').innerHTML = img_color[id];<br/>
 }<br/>
 else<br/>
 {<br/>
 big = document.getElementById('main_image_ef');<br/>
 document.getElementById('login_response_ef').innerHTML = img_color[id];<br/>
 }<br/>
 <br/>
 bg = document.getElementById('i' + id);<br/>
 if (big && bg)<br/>
 {<br/>
 var id_img = 0;<br/>
 for (var index in img_id) {<br/>
 if (img_id[index] == id) {<br/>
 id_img = index;<br/>
 }<br/>
 }<br/>
 big.src = img_arr[id_img].src;<br/>
 }<br/>
 return false;<br/>
 }



так вот сервер при загрузке страницы с этим скриптом пишет в логи вот такие ошибки


File does not exist: /домен/www/function () { for (var i = 0; i <= this.length; i++) { this.shift(); }}

[Thu Aug 11 16:19:10 2011]


[error] [client **.***.**.*] File does not exist: /домен/www/function () { var newArray = []; for (var i = 0; i < this.length; i++) { newArray.insert(this[i]); } return newArray;}


в чем проблема? и как это можно исправить?
  • Вопрос задан
  • 2307 просмотров
Решения вопроса 1
@shiberz
Это все от того, что js у Вас пишет человек, который даже начальный уровень документации не прочел.
for (var id in img_url) — эта конструкция перебирает не только элементы массива, но и все остальные свойства объекта. Замените на
for (var i=0; i<img_url.length; i++) {
var id = img_url[i];
....
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
taliban
@taliban
php программист
/домен/www/function ()…
Эти логи идут при прелоаде, или при показе основного изображения?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы