2012-02-14 41 views
9

"#business" hiện được đặt thành nền: # 323232; Làm thế nào tôi có thể thay đổi nó thành # 000; sau khi tôi nhấp vào "#business" và quay lại 323232 sau khi menu bị đóng?Cách thay đổi thuộc tính css bằng cách sử dụng jquery với mã này

$(document).ready(function() { 

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

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

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

}); 

Đây là html:

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

Trả lời

28

Bạn có thể sử dụng phương pháp css để thay đổi thuộc tính CSS (hoặc nhiều thuộc tính nếu cần):

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

Lưu ý rằng tôi đã kết hợp 2 trình nghe sự kiện mà bạn đã ràng buộc với #business vì nó không tạo ra sự khác biệt nào khi chỉ liên kết với trình xử lý sự kiện.

Như một lưu ý phụ, có lý do nào bạn đang chuyển một chuỗi trống đến hide? Điều đó không cần thiết.

+0

Điều đó làm việc tốt với 1 ngoại lệ .. nó không trở về # 323232 trong #business? – Josh

+0

@Josh - Ahh, xem chỉnh sửa của tôi. Tôi đã thiết lập thuộc tính CSS trên '# businessmenu' thay vì' # business'. –

+0

Bạn là người đàn ông, cảm ơn bạn :) – Josh

1

Chức năng css được sử dụng để thay đổi các thuộc tính CSS như nền.

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

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

Nếu bạn muốn thay đổi nền của một nguyên tố (trong trường hợp của bạn "#business") vào một màu, bạn chỉ cần làm:

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

Nhưng tôi không chắc chắn những gì bạn có ý nghĩa bởi "menu", có lẽ bạn nên hiển thị cho chúng tôi mã HTML của bạn!

+0

Tôi đặt html ở trên .. Về cơ bản bạn nhấp vào #business và nó hiển thị "# businessmenu" – Josh

Các vấn đề liên quan