我已经努力解决这个问题几天了,但一直没有成功,所以我决定在这里注册并看看是否有好心人可以帮助我。祈祷好运!
我正在尝试动画化(淡入/淡出)无序列表中链接的CSS背景颜色,当鼠标悬停时。维护无序列表结构是必要的,因此我不寻求将每个链接分离到自己的div中,并动画显示其背景颜色的解决方案。
我还希望将解决方案限制为动画化css,而不是整个解决方案都在js中,以便在关闭js时可以简单和优雅地降级。
我有一个简单的无序导航列表,就像这样:
这是我的 CSS 代码:
我也尝试过这个方法,但颜色是在js中指定的,而不是在css中,这并不理想...
到目前为止,我尝试了很多方法都无法对我的链接产生任何影响!由于我对jQuery非常陌生,可能做错了一些简单的事情,希望在这里得到专家的帮助。
非常感谢!
我正在尝试动画化(淡入/淡出)无序列表中链接的CSS背景颜色,当鼠标悬停时。维护无序列表结构是必要的,因此我不寻求将每个链接分离到自己的div中,并动画显示其背景颜色的解决方案。
我还希望将解决方案限制为动画化css,而不是整个解决方案都在js中,以便在关闭js时可以简单和优雅地降级。
我有一个简单的无序导航列表,就像这样:
<div id="projectContent">
<ul class="listings">
<li><a href="*">Another Project</a></li>
<li><a href="*">Year</a></li>
<li><a href="*">Location</a></li>
<li><a href="*">Country</a></li>
<li><a href="*">Area</a></li>
</ul>
</div>
这是我的 CSS 代码:
#projectContent .listings{display:block; width:780px; border-top:1px solid #008BFD; margin:0; padding:0; float:left}
#projectContent .listings li{list-style:none; padding:0; line-height:1.6em}
#projectContent .listings li a{display:block; width:780px; color:#969991; text-decoration:none; border-bottom:1px solid #666; float:left; padding:0 0 1px 0;background-color:#F5F5F5; }
#projectContent .listings a:hover{background-color:#008BFD; color:#fff;}
目前为止一切都很好 - 但是我已经四处搜寻教程/插件,希望能让链接在鼠标悬停时快速(例如50-100毫秒)淡入背景颜色,并在光标移出链接时缓慢(例如500-1000毫秒)淡出颜色。
我发现了许多关于在链接上淡入淡出背景图片的教程,但几乎所有的教程都需要把每个链接包装在自己的div或span中,而我不想这样做......
我找到了几个接近我要求的教程,但不幸的是它们没有提供演示,所以难以确定......我知道我需要使用主要的jQuery脚本和jQuery颜色插件或核心UI,我都尝试过但没有成功。
下面是我尝试过的一些jQuery示例:
var originalBG = $("#projectContent .listings li a").css("background-color");
var fadeColor = "#008BFD";
$("#projectContent .listings li a").hover(
function () {
$(this).animate( { backgroundColor:fadeColor}, 450 )
},
function () {
$(this).animate( {backgroundColor: originalBG}, 950 )
}
);
这段需要翻译的内容非常类似,但我尝试在CSS中指定悬停/淡出颜色...
var originalBG = $("#projectContent .listings li a").css("background-color");
var fadeColor = $("#projectContent .listings li a:hover").css("background-color");
$("#projectContent .listings li a").hover(
function () {
$(this).animate( { backgroundColor:fadeColor}, 100 )
},
function () {
$(this).animate( {backgroundColor: originalBG}, 900 )
}
);
我也尝试过这个方法,但颜色是在js中指定的,而不是在css中,这并不理想...
$('.listings li a').hover(
function(){
$(this).stop().animate({backgroundColor: '#f5f5f5'});
},
function() {
$(this).stop().animate({backgroundColor: '#008BFD'});
}
);
到目前为止,我尝试了很多方法都无法对我的链接产生任何影响!由于我对jQuery非常陌生,可能做错了一些简单的事情,希望在这里得到专家的帮助。
非常感谢!