簡體   English   中英

如何使onclick toggleClass互斥?

[英]How to make onclick toggleClass mutually exclusive?

我正在嘗試使卡選擇互斥,這是我想到的代碼(我是初學者,並且正在研究JS atm): http : //jsfiddle.net/4XM9A/5/

(function () {
    var links = Array.prototype.slice.call(document.querySelectorAll('.gacca1'));
    var links2 = Array.prototype.slice.call(document.querySelectorAll('.gacca2'));

    links.forEach(function (link) {
        link.addEventListener('click', function () {
            toggleClass('active', this);
        });
    });
    links2.forEach(function (link) {
        link.addEventListener('click', function () {
            toggleClass('active', this);
        });
    });
    function toggleClass(className, element) {
        element.classList.toggle(className);
    }
}());

如您所見,當選擇卡片A時,它在右側顯示“卡片A文本”,而在之后選擇卡片B時,它不會從卡片A中刪除“ .active”類。因此,兩個卡片都是活躍,並且卡B始終是獲勝的一張。

我試圖做出這樣的選擇:如果未選擇任何卡,則說-選擇一張卡。 如果選擇了卡A-右側將顯示卡A塊,並帶有相關說明。 如果選擇了卡B,則會在右側顯示卡B塊並提供相關說明。 這些卡選擇應該是互斥的,因此切換一個應該取消切換另一個。

您有正確的主意。 基本上,在單擊處理程序函數中,需要確保被單擊的元素是唯一獲得active類的元素。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM