如何使onclick toggleClass互斥?

时间:2014-07-03 02:03:40

标签: javascript toggle

我想让我的卡片选择互相排斥,这是我想出的代码(我是初学者,我正在学习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块并附有相关说明。 这些卡选择应该是互斥的,因此切换一个应该解开另一个卡。

1 个答案:

答案 0 :(得分:0)

你有正确的想法。基本上,在您的单击处理函数中,您需要确保单击的元素是唯一获得active类的元素。