我需要用jQuery來知道我的頁面上的某個元素是否已經切換。jQuery,檢測一個元素是否已經切換
我有一個XXX元素的菜單。
當我點擊一個元素,我使用:$("#elementXX").slideToggle("slow");
(XX是一個數字)
如果我在另一元件上點擊,我需要知道,如果一個元素已經切換了,我需要關閉這個元素之前滑動切換我的新元素。
我該怎麼做?我不能通過像#element1,#element2,#element3等id這樣的id來檢查id ...
謝謝!
我需要用jQuery來知道我的頁面上的某個元素是否已經切換。jQuery,檢測一個元素是否已經切換
我有一個XXX元素的菜單。
當我點擊一個元素,我使用:$("#elementXX").slideToggle("slow");
(XX是一個數字)
如果我在另一元件上點擊,我需要知道,如果一個元素已經切換了,我需要關閉這個元素之前滑動切換我的新元素。
我該怎麼做?我不能通過像#element1,#element2,#element3等id這樣的id來檢查id ...
謝謝!
你不需要切換,slideUp
和slideDown
是爲您的方案更加適合。您可以簡單地執行:
$("#clickedItem").click(function() {
var wasVisible = $("#elementXX").is(":visible");
$("[id^=element]:visible").stop().slideUp("slow");
if (!wasVisible) {
$("#elementXX").slideDown("slow");
}
});
您可能需要'.stop()。slideUp()',以防元素在前一個事件的動畫中被捕獲。 – 2013-03-12 10:00:52
@甜菜根 - 甜菜根好喊,補充:) – mattytommo 2013-03-12 10:01:22
是的,但有了這個解決方案,我不能關閉我的元素,當我reclick – 2013-03-12 10:04:21
您可以將數據屬性設置爲某個值以確定是否切換。您可以在HTML中添加屬性或直接使用腳本添加。
$("#elementXX").data("toggled", "true");
我會建議添加一個數據切換的屬性元素,爲可搜索性。 – Rodik 2013-03-12 09:48:08
您可以無條件地''.slideUp()'元素,而無需測試其當前狀態。 – 2013-03-12 09:48:51