我有以下代码,允许缩略图src attr替换主图像窗口中的图像。
$(document).ready(function(){
var originalimg = $('#imageMain img').attr('src');
$(".subImage").hover(function(){
var currentimg = $(this).attr('src');
$('.mainImage').fadeOut(function () {
$('.mainImage').attr('src', currentimg).fadeIn();
});
},function(){
$('.mainImage').fadeOut(function() {
$('.mainImage').attr('src', originalimg).fadeIn();
})
});
});
目前,该行为执行以下操作: 1.悬停在 - 主图像淡入白色,然后淡入子图像。 2.鼠标移出 - 主图像淡化为白色,然后用原始图像替换。
我真正需要的是代替两个图像状态之间的“白色”过渡,我希望它们有点重叠(因此随着其他图像淡入淡出而逐渐消失) -
这可能吗?
感谢
答案 0 :(得分:0)
你不能用fadeout / fadein按顺序哼唱图像。你必须以另一种方式进行转换。我已经为你写了整个代码:
<head>
<title>jQuery Image Rotator</title>
<script type="text/javascript" src="jquery-1.3.2.js"></script>
<script type="text/javascript">
$("#photoshow").hover(function() {
setInterval("rotateImages()", 2000); // set the interval time as your wish
});
function rotateImages() {
var oCurPhoto = $('#photoShow div.current');
var oNxtPhoto = oCurPhoto.next();
if (oNxtPhoto.length == 0)
oNxtPhoto = $('#photoShow div:first');
oCurPhoto.removeClass('current').addClass('previous');
oNxtPhoto.css({ opacity: 0.0 }).addClass('current').animate({ opacity: 1.0 }, 1000,
function() {
oCurPhoto.removeClass('previous');
});
}
</script>
<style type="text/css">
#photoShow {
height:400px;
width:400px;
}
#photoShow div {
position:absolute;
z-index: 0;
}
#photoShow div.previous {
z-index: 1;
}
#photoShow div.current {
z-index: 2;
}
</style>
</head>
<body>
<div id="photoShow">
<div class="current">
<img src="images/Grass.jpg" alt="Photo Gallery" width="400" height="400" class="gallery" />
</div>
<div>
<img src="images/Leaf.jpg" alt="Photo Gallery" width="400" height="400" class="gallery" />
</div>
<div>
<img src="images/Spring.jpg" alt="Photo Gallery" width="400" height="400" class="gallery" />
</div>
<div>
<img src="images/Water.jpg" alt="Photo Gallery" width="400" height="400" class="gallery" />
</div>
</div>
</body>
</html>
它将逐个转换图像。用适当的类,id名称和图像url放置。希望它有帮助!