我正在尝试使用香草js创建一个存储卡游戏。
我有一个随机播放功能,我想在重置游戏按钮上调用,但是它不起作用。

这是我到目前为止的内容:

var imageList = [
        {
            name: 'image_1',
            id: 1
        },
        {
            name: 'image_2',
            id: 2
        },
        {
            name: 'image_3',
            id: 3
        },
        {
            name: 'image_4',
            id: 4
        }
    ],
    card = [],
    appendToBoard = document.getElementById('cardTable');

function shuffle(array) {
  //some code here
}

function createCardDeck() {
    shuffle(imageList); // calling shuffle(imageList)
   //some code here
 }


以上所有方法都有效,但是当我在btnReset上调用shuffle(imageList)时,它什么也没做

document.getElementById('btnReset').addEventListener('click', function(event) {
    event.preventDefault();
    shuffle(imageList);
}, true);


https://jsfiddle.net/rmbor/qnzaope7/

任何建议将不胜感激。
谢谢

最佳答案

做两件事:


var card = '';添加到createCardDeck函数以在添加标记之前将其清除:

function createCardDeck() {
    shuffle(imageList);
    var card = '';
    for (var i = 0; i < imageList.length; i++) {...}
}

shuffle(imageList)函数中将createCardDeck()替换为addEventListener

document.getElementById('btnReset').addEventListener('click', function(event) {
    event.preventDefault();
    createCardDeck();
}, true);



查看演示-Fiddle.

关于javascript - 随机播放功能在单击按钮上不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35247832/

10-09 09:54