沒有必要記住狀態,只需使用切換()
$(function() {
setMenu();
});
function setMenu()
{
$('#headerExt').hide();
$('#header').on("click", function (e) {
e.preventDefault();
$('#headerExt').toggle();
});
}
你說你想切換其他的東西。
最好的辦法是切換一個類來改變顏色
$('#header').on("click", function (e) {
e.preventDefault();
$(this).toggleClass("open");
$('#headerExt').toggle();
});
another way is to check the state
$('#header').on("click", function (e) {
e.preventDefault();
var child = $('#headerExt').toggle();
var isOpen = child.is(":visibile");
$(this).css("background-color" : isOpen ? "red" : "blue");
});
如果佈局是一樣的東西
<div class="portlet">
<h2><a href="#">Header</a></h2>
<div>
<p>Content</p>
</div>
</div>
你可以有這樣的
.portlet h2 { background-color: yellow; }
.portlet > div { display: none; }
.portlet.open h2 { background-color: green; }
.portlet.open > div { display: block; }
CSS
而JavaScript
$(".portlet h2 a").on("click", function() {
$(this).closest(".portlet").toggleClass("open");
});
而且有佈局可能有零JavaScript參與。
它完美的作品:http://jsfiddle.net/8dCnh/ –