假設你有三類:
.unselected { background-color: grey; }
.selected { background-color: green; }
.clicked { background-color: red; }
然後就可以使用它們如下:
<div id="test" class="unselected">test<div>
然後(在測試元件之後的document.ready或一個腳本塊):
$("#test").click(function() {
var $this = $(this);
if ($this.hasClass("selected")) {
$this.removeClass("selected").addClass("clicked");
// ajax here if needed
} else if ($this.hasClass("clicked")) {
$this.removeClass("clicked").addClass("selected");
// ajax here if needed
} else if ($this.hasClass("unselected")) {
$this.removeClass("unselected").addClass("selected");
// ajax here if needed
}
});
演示: http://jsfiddle.net/LLCMa/
以上內容應該不言自明。當然,如果更合適,您可以將您的Ajax調用放在if/else結構之外,但是如果您需要根據當前狀態進行不同的Ajax調用,則可以按上述方式進行。
'Toggle'意味着兩種狀態。您不能在3種狀態之間切換。你需要手動循環。 – Dutchie432 2012-02-27 20:24:52