Показать сообщение отдельно
  #1 (permalink)  
Старый 08.01.2012, 14:56
Новичок на форуме
Отправить личное сообщение для walking Посмотреть профиль Найти все сообщения от walking
 
Регистрация: 08.01.2012
Сообщений: 8

скрипт работает только на последнем пункте меню
Есть вертикальное меню сайта. На страничке сайта картинка. При наведении мышки на каждый пункт меню, картинка изменяется. Сколько пунктов меню, столько вариантов изменения. При удалении/добавлении пунктов меню в админке в код не лезть.
Имена файлов картинок:
первоначальной – 0.png;
сменяющих - <?php echo $item->id ?>.png , имя до расширения соответствует id item соответствующего ей пункта меню.
id картинки – img .

Скрипт:

var imgs = [];
imgs[0] = "/0.png";
imgs[<?php echo $item->id ?>] = "/<?php echo $item->id ?>.png";
function show_img(a) {
var obj = document.getElementById("img");
obj.src = imgs[a];
}

К ссылке меню дописано (и к каждой подхватывается соответствующее ей значение):
onmouseover="show_img(<?php echo $item->id ?>);" onmouseout="show_img(0);"

В результате картинка меняется при наведении только на последний пункт меню. При наведении на любые другие пункты меню первоначальная картинка пропадает, т.е. файла-замены нет. Но при этом в файербуге все красиво. Каждой ссылке меню соответствуют именно ее значения, в т.ч. и правильные имена заменяющих файлов.
С чем это связано? Запоминает последнее вычисленное значение (код ссылки меню – 1 строка, для каждой вычисляется заново по циклу)?
Подскажите, пожалуйста, что и как надо изменить?
Ответить с цитированием