我正在尝试在导航菜单上的(a 和 a:hover)之间进行淡入/淡出转换
导航菜单的结构如下:
<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 和 text 应该逐渐消失(显示原始状态)
-编辑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 选择器的类