ナビゲーション メニューの (a と a:hover) の間で、fadeIn/fadeOut トランジションを実行しようとしています。
ナビゲーション メニューは次のように構成されています。
<div class="menubar">
<ul id="mainmenu">
<li><a href="">Home</a></li>
<li><a href="">Team</a></li>
<li><a href="">News</a></li>
<li><a href="">EVENTS</a></li>
<li><a href="">MultiMedia</a></li>
<li><a href="">Fans</a></li>
<li><a href="">Forums</a></li>
</ul>
</div>
a タグの CSS スタイルは次のとおりです。
#mainmenu li a {
color: #fdb813;
line-height: 50px;
padding:12px 25px;
text-shadow: 0px 1px 4px #ccc;
text-decoration:none;
}
#mainmenu li a:hover{
color: #000;
background: url(images/menuhover.png) repeat;
text-shadow: 0px 1px 4px #777;
}
私は通常の状態とホバー状態の間の遷移をfadeInとfadeOutで行いたい..私はjQueryの専門家ではないので、コードをハッキングしてみましたが、いつもメニューが消えてしまいます!
-編集-
明確にするために、これは私がトランジションを次のようにしたい方法です:
ホバーイン: 背景画像とテキストの色が徐々に表示されます。元のテキストはそのまま残ります(トランジションの開始時に消えてはいけません)
hover-out: bg-img とテキストが徐々に消えます (元の状態を示します)
-編集2-
これまでのところ、次の部分を使用して、フェードイン遷移を行うことができました。
<script type="text/javascript">
$(document).ready(function(){
$('#mainmenu li a').hover(
function () {
$(this).css('opacity',0.1).animate({opacity: 1},250);
}, //this is called on hover in
function () {
$(this).addClass('hovered');
$(this).fadeOut(function(){
$(this).removeClass('hovered').fadeIn(250);
});
} //this is called on hover out
);
});
</script>
ただし、fadeOut のトランジションはやや奇妙な動作をしています。私はどんな提案にもオープンです。注: クラス 'hovered' は a:hover CSS セレクターに一致するクラスです