我有一個有四個按鈕的移動工具欄。每個按鈕都使用精靈來定位背景圖像。每個按鈕都有一個唯一的類名,因爲每個按鈕都需要在精靈內唯一定位。打開關閉按鈕切換
當頁面加載時,沒有選擇按鈕。當一個按鈕被按下時,它是活動的僞類:活動從白色圖標變爲藍色圖標,當按鈕從藍色的活動狀態釋放時,它保持藍色。沒問題。但是,我想要的行爲是當按下另一個按鈕時,該按鈕會將其狀態更改爲活動狀態,並且在此狀態之前處於活動狀態的按鈕將返回到其默認狀態。
所以當一個按鈕被按下時,它的狀態保持活動狀態,並且當另一個按鈕被按下時返回到它的默認狀態。
這裏是按鈕的HTML:
<div id="s800-footer" align="center" class="s800-toolbar">
<button id="s800-current-location-btn" class="locationIcon" ></button>
<button id="s800-1-map-btn" class="s800-footer-btn mapIcon" >Map</button>
<button id="s800-2-facility-list-btn" class="s800-footer-btn listIcon" >List</button>
<button id="s800-3-choose-btn" class="s800-clickable s800-footer-btn chooseIcon">Choose</button>
<button id="s800-4-selected-options-btn" class="s800-footer-btn selectedIcon">Selected</button>
</div>
這裏是JavaScript的:
$(".s800-toolbar button").click(function(){
if ($(this).hasClass("mapIcon")){
$(this).removeClass("mapIcon");
$(this).addClass("active");
$(".listIcon").removeClass("listIconActive");
$(".listIcon").addClass("listIcon");
}else if ($(this).hasClass("listIcon")){
$(this).removeClass("listIcon");
$(this).addClass("listIconActive");
$(".mapIcon").removeClass("mapIconActive");
$(".mapIcon").addClass("mapIcon");
}
})
從左至右的工具欄圖標是.mapIcon的.listIcon,在上。 chooseIcon和.selectedIcon。我只包含前兩個代碼,因爲一旦按下.listIcon按鈕後,一旦獲得.mapIcon關閉它的活動狀態,我就可以將功能複製到其他功能。
在此先感謝。 Chris
可能的重複[如何使一個div有一次單擊類?](http://stackoverflow.com/questions/26242619/how-to-make-only-one-div-have-該級-點擊-AT-A-時間)。你可以通過搜索找到更多。 – melancia 2014-10-08 15:47:13
你可以添加一個工作的JSFiddle演示嗎?你有沒有試過玩單選按鈕,在任何時候只能選擇一個按鈕? – pomeh 2014-10-08 15:47:46
想一想。如果您刪除類mapIcon,稍後您將無法重新選擇它...簡化CSS。 – epascarello 2014-10-08 15:49:26