Я пытаюсь включить onMouseOver и onMouseOut для всех своих значков и заменить их уникальными значками.
Изначально у меня было так:
<img id="EEProfile" src="images/EEProfile.png" alt="Employee Profile" onMouseOver="mouseOver()" onMouseOut="mouseOut()">
Внешний JS-файл:
function mouseOver() { document.getElementById("EEProfile").src = 'images/EEProfile_Hover.png'; }
function mouseOut() { document.getElementById("EEProfile").src = 'images/EEProfile.png'; }
Есть несколько проблем с этим:
Этот метод работает в IE, но по какой-то причине в Chrome onMouseOut не работает, поэтому изображения при наведении остаются.
Требуется некоторый встроенный javascript. Я пытаюсь перейти к устранению всех встроенных JS.
- Требует, чтобы я жестко кодировал пути к изображениям для каждого изображения на странице.
Поскольку все пути к изображениям одинаковы и следуют одному и тому же соглашению об именах, которое просто
'images/ImageID.png' или 'images/ImageID_Hover.png'
Я надеялся реализовать что-то вроде этого:
Pseudocode HTML:
<img id="EEProfile" src="images/EEProfile.png" alt="Employee Profile" onMouseOver="mouseOver(this.id)" OnMouseOut="mouseOut(this.id)">
Pseudocode JavaScript:
function mouseOver(id) { document.getElementById("id").src = 'images/id.png'; }
function mouseOut(id) { document.getElementById("id").src = 'images/id_Hover.png'; }
Я хочу передать идентификатор элемента изображения функциям mouseOver и mouseOut в качестве параметра, а затем использовать строковый литерал этого идентификатора в пути к изображению, поэтому мне не нужно жестко кодировать путь к каждому изображению. Возможно ли что-то подобное? Есть ли способ сделать это без встроенного JS?
Я рассматривал возможность использования content:hover без JS, но он не поддерживается в IE.