使用jQuery,我已经能够在悬停时交换图像并在mouseout上更改它。
我有2张图片,image1和image2。 image1是原始图像,当悬停mouse2应该显示并且应该在mouseout上保持均匀。在下一次悬停时,原始图像会替换image2,依此类推......
我尝试了2个代码。第一个在mouseout上更改图像。第二个,即使在最初的悬停时也没有任何反应。
代码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');
}
});
});
非常感谢帮助。
谢谢!
答案 0 :(得分:2)
试试这个:
$("#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');
}
});
根据我的评论,您没有使用.hover()
快捷方式,只需绑定mouseenter
事件。
编辑:我还修复了else if
部分,但我将代码优化留给您。
答案 1 :(得分:1)
正如文档明确指出的那样,hover
函数为mouseenter
和mouseleave
添加了处理程序。
如果您只想处理mouseenter
,请不要这样做。