Javascript onmouseout событие - PullRequest
1 голос
/ 04 июня 2010

Итак, у меня есть навигация с 3 кругами и слайдер jquery.

По умолчанию первый круг горит, и когда пользователь нажимает на 2-й круг, ползунок перемещается на 2-й делитель, а затем этот круг горит, а 1-й круг тускнеет. То же самое работает с 3-м кругом.

Все отлично работает, вот как выглядит код

<img name="bullet1" height="30px" width="30px" src="img/bulletwhite.png" onmousedown="this.src='img/bulletwhite.png';document.images['bullet2'].src='img/bullet.png';document.images['bullet3'].src='img/bullet.png'" style="opacity:0.4;filter:alpha(opacity=40)"/>
<img name="bullet2" height="30px" width="30px" src="img/bullet.png" onmousedown=" this.src='img/bulletwhite.png';document.images['bullet1'].src='img/bullet.png';document.images['bullet3'].src='img/bullet.png'" style="opacity:0.4;filter:alpha(opacity=40)"/>
<img name="bullet3" height="30px" width="30px" src="img/bullet.png" onmousedown=" this.src='img/bulletwhite.png';document.images['bullet1'].src='img/bullet.png';document.images['bullet2'].src='img/bullet.png'" style="opacity:0.4;filter:alpha(opacity=40)"/>

Моя следующая задача - добавить эффект наведения на круги, однако, когда я даю ему эффект наведения, он меняет src изображения, верно? поэтому, когда срабатывает onmouseout, чтобы изменить его обратно, он всегда будет тусклым кругом, даже если круг был ранее освещен.

Таким образом, мой основной вопрос заключается в следующем: есть ли способ запомнить src изображения ДО ТОГО, как onmouseover изменит его, а затем использовать его, чтобы вернуть его в прежнее состояние при запуске onmouseout, надеюсь, это имеет смысл :)

Любой совет поможет!

1 Ответ

2 голосов
/ 04 июня 2010

Вы можете попробовать добавить пользовательский атрибут для расширения класса или создать свой собственный объект JavaScript, который будет хранить текущие и целевые изображения (или базовые, активные и при наведении курсора), а затем связать его с основным сценарием. Возможно, это значительно упростит вашу логику, чтобы вывести JS из локальных событий и перехватить события, используя библиотеку, такую ​​как prototype.js или jquery (хотя это излишне - может быть полезно в другом месте!)

...