Используя jQuery, я смог обмениваться изображениями при наведении курсора и изменять его на мыши.
У меня есть 2 изображения, image1 и image2. image1 - это исходное изображение, когда отображаемый mouse2 должен отображаться и должен оставаться даже при мыши. при следующем паре исходное изображение заменяет image2 и так далее...
Я пробовал 2 кода. Первый изменяет изображение обратно на мышь. Второй, ничего не происходит даже при начальном наведении.
Код 1
$(document).ready(function () {
$("#img1").hover(function () {
if ($(this).attr('src') == 'www.domain.com/image1.jpg') {
$(this).attr('src','www.domain.com/image2.jpg');
} else if ($(this).attr('src') == 'www.domain.com/image1.jpg') {
$(this).attr('src','www.domain.com/image1.jpg');
}
});
});
Код 2
$(document).ready(function () {
$("#img1").hover(function () {
if ($(this).attr('src') == 'www.domain.com/image1.jpg') {
$(this).attr('src','www.domain.com/image2.jpg');
}
if ($(this).attr('src') == 'www.domain.com/image1.jpg') {
$(this).attr('src','www.domain.com/image1.jpg');
}
});
});
Помощь будет принята с благодарностью.
Благодарю!
Попробуй это:
$("#img1").on('mouseenter', function () {
if ($(this).attr('src') == 'www.domain.com/image1.jpg') {
$(this).attr('src','www.domain.com/image2.jpg');
} else if ($(this).attr('src') == 'www.domain.com/image2.jpg') {
$(this).attr('src','www.domain.com/image1.jpg');
}
});
Согласно моему комментарию, вы не используете ярлык mouseenter
.hover()
, просто привяжите событие mouseenter
.
Изменение: я также исправил часть else if
, но я оставляю вам оптимизацию кода.
Как четко указано в документации, функция hover
добавляет обработчик как для mouseenter
и для mouseleave
.
Если вы хотите обрабатывать только mouseenter
, не делайте этого.
mouseenter
.hover()
, просто привяжите событиеmouseenter
как$('#img1').on('mouseenter', function() { ... })