我有一张较大的图像,下方有两个较小的缩略图 - 标记如下:
<img src="../images/image.jpg" class="left main" alt="main image" />
<img src="../images/image2-thumb.jpg" class="left mainthumb" alt="image two" />
<img src="../images/image3-thumb.jpg" class="left thumb mainthumb" alt="image three" />
我希望当image2-thumb或image3-thumb悬停在上面时,可以将image.jpg更改为悬停的图像src但不使用-thumb。
所以,如果我将鼠标悬停在image2-thumb.jpg上,那么image.jpg就会变成image2.jpg等等。然后在mouseout上我希望它恢复到原来的src。
我正在使用以下javascript来执行此操作,但点击:
$(function () {
$('.mainthumb').click(function () {
$('.main').attr('src', this.src.replace('-thumb', ''))
});
});
我想将此更改为悬停,但不确定如何。
答案 0 :(得分:1)
使用.hover()
$(function () {
$('.mainthumb').hover(function () {
$('.main').prop('src', this.src.replace('-thumb', ''));
}, function () {
$('.main').prop('src', '../images/image.jpg');
}
});
答案 1 :(得分:1)
最简单的方法是在没有使用纯JS的jQuery的情况下执行此操作。
像这样的东西
<img src="first.png" onmouseover="this.src='second.jpg';"
onmouseout="this.src='first-or-other-image.png'">
也许不是很漂亮但工作正常
答案 2 :(得分:0)
$('.mainthumb').mouseenter(function () {
// Do your stuff.
});
$('.mainthumb').mouseleave(function () {
// Do your stuff.
});
答案 3 :(得分:0)
我会使用带回调的.hover()来执行此操作
$('.mainthumb').hover(function () {
// change the src
}, function () {
// change back the src
});
答案 4 :(得分:0)
将数据属性添加到第一个图像以存储原始文件指针(“image.jpg”),如下所示:
<img src="../images/image.jpg" data-original="../images/image.jpg" class="left main" alt="main image" />
然后将其添加到您的javascript:
$(function () {
$('.mainthumb').hover(function () {
$('.main').attr('src', this.src.replace('-thumb', ''))
}, function() {
var main = $('.main');
main.attr('src', main.attr('data-original'));
});
});