我在使用这个 jQuery 幻灯片插件的逻辑时遇到了问题。我不想设置图像的高度,因为其中一些被拉伸太多。但是如果没有设置图像高度,并且图像很短,您可以看到它后面的其他图像。代码如下所示:
html
<div id="slideshow1">
<img src="img/gallery1.jpg" class="active"/>
<img src="img/gallery2.jpg"/>
<img src="img/gallery3.jpg"/>
<img src="img/gallery4.jpg"/>
<img src="img/gallery6.jpg"/>
<img src="img/gallery7.jpg"/>
</div>
css
#slideshow1{
position:relative;
height:450px;
width:300px;
float:left;
}
#slideshow1 img{
position:absolute;
top:0;
left:0;
width:300px;
//height:450px;
z-index:8;
opacity: 0.0;
}
#slideshow1 img.active{
z-index:10;
opacity: 1.0;
}
#slideshow1 img.last-active{
z-index:9;
opacity: 0.0;
}
js
function slideSwitch() {
var $active = $('#slideshow1 IMG.active');
if ( $active.length == 0 ){
$active = $('#slideshow1 IMG:last');
}
var $next;
if ($active.next().length){
$next = $active.next();
}else{
$next = $('#slideshow1 IMG:first');
}
$active.addClass('last-active');
$next.css({opacity: 0.0})
.addClass('active')
.animate({opacity: 1.0}, 1000, function() {
$active.removeClass('active last-active');
});
}
$(function() {
setInterval( "slideSwitch()", 3000 );
});
我尝试在css中将不透明度添加到last-active,但这并没有奏效。是否可以切换背景图像透明度而不会过多地弄乱代码?