img, mousemove + mouseover
В js новичек, но мне нужно сделать что бы при наведении на определенную часть картинки записывалась цифра и подставлялась как часть атрибута src, но если убрать мышь должна вернутся исходная картинка.
Все хорошо но вот если первый раз навести и убрать - норм, а второй и дальше - останется картинка которая была при наведении. Вот код.
var img = document.getElementById("img");
// Записываем значение src, которое нужно будет вернуть
var isrc = img.src;
// Левый верхний угол
var lx = absPosition(img)["x"];
var ly = absPosition(img)["y"];
// Правый нижний
var rx = lx + img.width;
var ry = ly + img.height;
img.onmousemove = function() {
var mx = defPosition()['x'];
//В зависимости от положения мыши по оси X меняем изображение
if(mx >= lx && mx <= lx + 15) n = 1;
if(mx > lx + 15 && mx <= lx + 29) n = 2;
if(mx > lx + 29 && mx <= lx + 43) n = 3;
if(mx > lx + 43 && mx <= lx + 57) n = 4;
if(mx > lx + 57 && mx <= rx) n = 5;
img.src = host + "img/" + n + "hover.png";
}
// Должна вернутся исходная картинка
img.onmouseout = function () {img.src = isrc;}
|
может без var?
img = document.getElementById("img");
img.src="что-то";
isrc = img.src;
Проще можно сделать через карту изображения или элемент AREA http://www.htmlbook.ru/html/area.html хотя я с ними ни когда не работал, посмотри |
var убрал, непомогло... кстати зачем писать вар каждый раз - незнаю, но пачимуто все так делают
а арею ща попробую, помеому это самое оно :)) |
все, area помогло... проблема решена
|
Не могу найти где в статьях на javascript.ru говорилось про var. Но идея такова что если без var то переменная сразу становится глобальной то есть видна везде, а если с ней то она видна только в той части кода в которой объявлена. Поищи на сайте в статьях
|
| Часовой пояс GMT +3, время: 03:43. |