悬停时具有不透明度的jquery列表元素。

时间:2011-12-20 17:14:53

标签: jquery menu opacity

我正在尝试构建一个包含图片的简单菜单,其中所选内容包含opacity:1而另一个li包含opacity:0.4

你能告诉我,我做错了吗?

例如:http://jsfiddle.net/mdamC/161/

4 个答案:

答案 0 :(得分:1)

您遇到语法错误,请摘下上一个});。我不知道你的意图是什么,但至少会让它解析。这是一个fiddle

答案 1 :(得分:0)

您需要将代码包装在文档就绪函数中,例如:

$(document).ready(function(){
    ....code here....
});

或简化版:

$(function(){
    .....code here....
});

此外,您需要一些分号来关闭前两个不透明度语句:

$("li").css('opacity','0.40');
$(".selected").css('opacity','1');

在此处更新:http://jsfiddle.net/mdamC/163/

答案 2 :(得分:0)

如果您要淡化除所选链接之外的所有内容,请尝试以下操作:

$('ul.showcase').hover(function() {
    $(this).find('li').stop().fadeTo(500, 1);
}, function() {
    $(this).find('li:not(".selected")').stop().fadeTo(500, 0.4);
});

http://jsfiddle.net/mblase75/mdamC/171/

答案 3 :(得分:0)

你有一些语法错误,这可能是罪魁祸首。在文档就绪功能中,使用以下命令:

$("li").css('opacity','0.40');
$(".selected").css('opacity','1');

$('ul.showcase').on("mouseover", "li", function() {
    $(this).stop().fadeTo(500, 1);
});

$('ul.showcase').on("mouseout", "li:not(.selected)", function() {
    $(this).stop().fadeTo(500, 0.4);
});

请注意,这需要使用jQuery 1.7+并使用.on() API。我强烈建议这一点,因为委托事件的使用效率更高。