【问题标题】:css/javascript multiple card flip: reset other cardscss/javascript多卡翻转:重置其他卡
【发布时间】:2017-06-25 06:54:08
【问题描述】:

所以我目前正在使用这个:http://jsfiddle.net/nawdpj5j/10/

现在我需要的是,当我翻转一张牌(无论是哪张)然后再翻转另一张时,第一张牌会重置/返回。

我想我需要在这里添加一些东西:

var init = function() {
var flippers = document.getElementsByClassName("flip");

for(i = 0; i < flippers.length; i++){
    flippers[i].addEventListener( 'click', function(){
        var cardID = this.dataset.targetid;
        var card = document.getElementById(cardID);
        card.toggleClassName('flipped');
}, false);
}


};

提前谢谢你!

【问题讨论】:

    标签: card-flip


    【解决方案1】:

    您可以获得所有翻转卡片的数组,并在每次翻转卡片时将它们翻转回来,如下所示:

    var init = function() {
        var flippers = document.getElementsByClassName("flip");
        for (i = 0; i < flippers.length; i++) {
            flippers[i].addEventListener('click', function() {
                var cardID = this.dataset.targetid;
                var card = document.getElementById(cardID);
                var flipped = document.getElementsByClassName('flipped');
                for (i = 0; i < flipped.length; i++) {
                    if (card !== flipped[i]) {
                        flipped[i].toggleClassName('flipped');
                    }
                }
                card.toggleClassName('flipped');
            }, false);
        }
    };
    window.addEventListener('DOMContentLoaded', init, false);
    

    这是一个工作演示的链接JS FIDDLE

    【讨论】:

    • 非常感谢!该演示不适用于我,但您发布的代码有效:)
    • 没问题。我已经更新了演示链接,现在应该可以使用了。
    猜你喜欢
    • 2015-06-05
    • 1970-01-01
    • 1970-01-01
    • 2016-07-26
    • 2015-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-17
    相关资源
    最近更新 更多