2012-02-14 13 views
9

"#business" şu an için arka plana ayarlı: # 323232; # 000'ye nasıl değiştirebilirim; menü kapatıldıktan sonra "#business" a ve 323232'ye geri döndükten sonra? İşte Bu kodla jquery'yi kullanarak css özelliğini nasıl değiştirilir?

$(document).ready(function() { 

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

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

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

}); 

html geçerli:

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

cevap

28
Bir CSS özelliğini (veya birden özelliklerini gerekirse) değiştirmek için css yöntemi kullanabilirsiniz

:

$("#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"); 
}); 

Not I ettik Yalnızca biriyle bağlantı kurmak için hiçbir fark yaratmadığından, #business'a bağladığınız 2 olay dinleyiciyi birleştirdiniz.

Bir yan not olarak, boş bir dize hide geçirmeniz için bir neden var mı? Bu gerekli olmamalı.

+0

1 istisnayla iyi çalıştı .. #business'de # 323232'ye dönmedi. – Josh

+0

@Josh - Ahh, düzenlememe bak. CSS özelliğini "# business" yerine "# businessmenu" olarak ayarladım. –

+0

Siz adamsınız, teşekkürler :) – Josh

1

css işlevi, arka plan gibi CSS özelliklerini değiştirmek için kullanılır.

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

Ama ne kastettiğini emin değilim: Bir renge (sizin durumda "#business") bir elementin arkaplanını değiştirmek isterseniz

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

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

, sadece do "menu", muhtemelen bize HTML kodunuzu göstermelisiniz!

+0

Yukarıdaki html'yi koydum. Esasen #business'ı tıkladığınızda "#businessmenu" yazıyor. – Josh

İlgili konular