所以我有三个堆叠的元素,即
标记:
<div id="banner-1" class="banner-background"></div>
<div id="banner-2" class="banner-background"></div>
<div id="banner-3" class="banner-background"></div>
<a class="menu-link banner-1-link">1</a>
<a class="menu-link banner-2-link">2</a>
<a class="menu-link banner-3-link">3</a>
jQuery:
对于每个链接,我想切换到相应的元素并淡入淡出。然而,这导致了奇怪的问题,第三个元素一直在淡入淡出。还有更好的方法来解决这个问题,这样更有活力,所以说如果我想添加 4 或 5 它也可以吗?
$('.menu-link').on('mouseenter', function(){
var menuLink = $(this);
if (menuLink.hasClass('banner-1-link')){
$('#banner-1').animate({'opacity': 0}, 100, function (){
$('#banner-1').css('z-index', '3');
}).animate({'opacity': 1}, 600);
$('#banner-2').css('z-index', '0');
$('#banner-3').css('z-index', '0');
}
else if (menuLink.hasClass('banner-2-link')){
$('#banner-2').animate({'opacity': 0}, 100, function (){
$('#banner-2').css('z-index', '3');
}).animate({'opacity': 1}, 600);
$('#banner-3').css('z-index', '0');
$('#banner-1').css('z-index', '0');
}
else {
$('#banner-3').animate({'opacity': 0}, 100, function (){
$('#banner-3').css('z-index', '3');
}).animate({'opacity': 1}, 600);
$('#banner-2').css('z-index', '0');
$('#banner-1').css('z-index', '0');
}
});
任何帮助表示赞赏,谢谢!
编辑:
CSS:
.banner-background{
width: 100%;
height: 500px;
position: absolute;
top: 0;
left: 0;
}
#banner-1{
z-index: 3;
}
#banner-2{
z-index: 0;
}
#banner-3{
z-index: 0;
}