だから私は3つの積み重ねられた要素を持っています、すなわち
マークアップ:
<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:
リンクごとに、対応する要素に切り替えてフェードしたい。ただし、これは奇妙な問題を引き起こし、3 番目の要素がフェード時に表示され続けます。これをより動的にするためのより良い方法もありますか?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;
}