2012-02-14 95 views
9

“#business”当前设置为后台:#323232;我如何将其更改为#000;当我点击“#商业”并返回到323232菜单关闭后?如何使用jquery使用此代码更改css属性

$(document).ready(function() { 

    $("#business").click(function(){ 
     jQuery.fx.off = true; 
     $("#businessmenu").toggle(""); 
    }); 

    $('html').click(function() { 
     $("#businessmenu").hide(""); 
    }); 

    $('#business').click(function(event){ 
     event.stopPropagation(); 
    }); 

}); 

下面是HTML:

<a href="#" id="business">Biz name</a> 
<div id="businessmenu"> 
    <a href="help.html">Help</a> 
</div> 

回答

28

可以使用css方法更改CSS属性(或多个属性如果有必要):

$("#business").click(function(event){ 
    jQuery.fx.off = true; 
    $("#businessmenu").toggle(""); 
    $(this).css("background-color", "#000"); 
    event.stopPropagation(); 
}); 
$('html').click(function() { 
    $("#businessmenu").hide(); 
    $("#business").css("background-color", "#323232"); 
}); 

请注意,我结合你绑定到#business的2个事件监听器,因为它只是绑定一个没有区别。

作为一个方面说明,是否有一个原因,你传递一个空字符串hide?这不应该是必要的。

+0

工作正常,有1个例外..它没有返回到#商业#323232? – Josh 2012-02-14 23:10:20

+0

@Josh - 啊,看我的编辑。我让它在'#businessmenu'而不是'#business'上设置CSS属性。 – 2012-02-14 23:16:40

+0

你是男人,谢谢:) – Josh 2012-02-14 23:18:44

1

css函数用于更改背景等CSS属性。

$('html').click(function() { 
    $('#businessmenu').hide(""); 
    $('#busniessmenu').css('background-color', '#323232'); 
}); 

$('#business').click(function(event){ 
    event.stopPropagation(); 
    $(this).css('background-color', '#000'); 
}); 
3

如果你想(“#business”你的情况)更改元素的背景颜色,你只需要做:

$("#business").css({ 
    "background": "#000" 
}); 

但我不知道你是什么意思“菜单”,你应该向我们展示你的HTML代码!

+0

我把上面的html ..基本上你点击#business,它显示“#businessmenu” – Josh 2012-02-14 23:13:55