const offCanvasLinks = document.querySelectorAll('.off-canvas__link');
[].forEach.call(offCanvasLinks, function(link) {
link.addEventListener('click', (event) => {
const typeVal = link.getAttribute('data-type')
if (typeVal === "star") {
document.querySelector('[data-star-links]').classList.toggle('active');
} else if (typeVal === "how-to") {
document.querySelector('[data-how-to]').classList.toggle('active');
} else {
document.querySelector('[data-presenters]').classList.toggle('active');
}
})
});
我有上面的代碼,點擊導航來切換活動類。Javascript - 如何刪除所有活動的類,除非被點擊的元素已經有一個活動類
如果我點擊導航中的另一個元素,我需要刪除所有活動類,除非點擊元素已經有一個活動類。
在jquery中,使用.not()的功能非常簡單。你可以通過事件目標來檢查並刪除所有其他活動類。
所以爲了使這個更清楚我正在尋找的是一種方法來刪除所有活動的類,除非被點擊的元素已經有一個活動類。
讓我知道你的想法
*********** UPDATE ****************** 好吧... 點擊在底部的鏈接上,它會很好地顯示一個屏幕,如果你點擊另一個鏈接,它將關閉前一個鏈接,然後打開下一個鏈接。但是,如果您點擊相同的鏈接,它不會關閉菜單。
如果該類已經打開,該如何刪除該類?
鏈接:https://jsfiddle.net/2oqm0r2n/3/
...小提琴是不是很有用,因爲它在運行時不顯示任何內容。 – trincot
讓我更新Jsfiddle Trincot,以便您可以看到我的問題,急於解決此問題 – MaxwellLynn
嗨Trincot,我剛剛更新了我的問題。我希望現在更有意義。 – MaxwellLynn