Ваш
document[changeImages.arguments[i]]
когда первый аргумент poetry
, доступ document.poetry
. Вместо этого используйте getElementById
, чтобы выбрать элемент с определенным идентификатором:
function changeImages(id, newSrc) {
document.getElementById(id).src = newSrc;
}
Вы также можете рассмотреть возможность правильного подключения слушателей, используя addEventListener
, а не встроенные обработчики:
const a = <select your <a> tag here>
const img = document.getElementById('poetry');
const fn = () => {
img.src = '/images/index/menu/poetry_over_static.jpg';
}
['mouseover', 'mouseout', 'mousedown', 'mouseup'].forEach((eventType) => {
a.addEventListener(eventType, fn);
});
Если вы делаете такие вещи для нескольких изображений на странице, то вы можете сделать код еще лучше, динамически выбирая <a>
nextElementSibling
, что позволяет полностью избежать идентификаторов:
const fn = ({ target }) => {
const img = target.nextElementSibling;
img.src = '/images/index/menu/poetry_over_static.jpg';
}
['mouseover', 'mouseout', 'mousedown', 'mouseup'].forEach((eventType) => {
a.addEventListener(eventType, fn);
});