我的意图是用漂亮的淡入淡出效果替换图像:我有一个图像 A 作为背景。鼠标悬停时,图像 B 淡入。鼠标移开时,图像 B 淡出,我们可以再次看到图像 A。我正在使用这段代码:
<script type='text/javascript'>
$(function() {
$("img.fade")
.mouseover(function() {
$(this).fadeOut(2000);
})
.mouseout(function() {
$(this).fadeIn(2000);
});
});
</script>
但问题是当用户保持悬停时,它会继续循环(fadeIn,fadeOut,fadeIn,fadeOut..)。我希望它在褪色完成时保持不变。当用户鼠标移出时,我希望新的淡入淡出会发生。谢谢!
ps这是使用2张图片的工作代码。这是问题的不同解决方案,我在问题解决后添加了这个。
<script type='text/javascript'>
$(function() {
$('img.fade').hover(function() {
var src = $(this).attr("src").match(/[^\.]+/) + "_over.jpg";
$(this)
.animate({opacity:0},0)
.attr('src',src)
.stop()
.animate({opacity:1},1000);
}, function() {
var src = $(this).attr("src").replace("_over", "");
$(this)
.animate({opacity:0},0)
.attr('src',src)
.stop()
.animate({opacity:1},500);
});
});
</script>