Перетасовка таблицы изображений в javascript

#javascript #arrays

#javascript #массивы

Вопрос:

У меня есть таблица карточек, которую я могу перетасовывать и сортировать без проблем, но когда я пытаюсь создать таблицу из массива, таблица работает нормально, но функция shuffle больше не работает. Любая помощь с благодарностью.

 //Create table works fine with cards all in order
document.writeln('<table border = 1 align = "center" >');
for(var j=0; j<cardSet.length; j  ){
    if(j%13==0 amp;amp; j!==0){
    document.writeln('</tr><tr>');
    }
    document.writeln('<td ><img id = "'  cardSet[j].id  '" src="'   cardSet[j].src   '" /></td>');
}
document.writeln('</tr></table>');

//shuffle function that works of with a manually created table but not with the code above
function shuffleCards() {
    for(i=0; i<SIZE; i  )
        cardSet[i] = i;
        for(i=0; i<SIZE; i  ) {
            rndCard1 = Math.floor(Math.random()*SIZE);
            rndCard2 = Math.floor(Math.random()*SIZE);
            shuffleTemp = cardSet[rndCard1];
            cardSet[rndCard1] = cardSet[rndCard2];
            cardSet[rndCard2] = shuffleTemp;
        }
        for(i=0; i<cardSet.length; i  ) 
            cardSet[i].src = document.getElementById(i).src;
}
  

Комментарии:

1. Этот пример кода не выглядит полным, не могли бы вы объяснить, куда вы звоните shuffleCards , пожалуйста?

2. Является ли document.writes функцией, которую вы вызываете после загрузки? Если это так, измените на var table = ""; for ......{ table ="..." } document.getElementById("somecontainer").innerHTML=table:

3. Также, пожалуйста, посмотрите в консоли (F12) на наличие ошибок

4. Также cardSet[i] = i; заменит элемент в индексе на номер

5. Извините, хотел сказать, что я вызываю функцию с помощью кнопки buttonDiv.innerHTML='<тип ввода =»button» значение =»Shuffle» onclick=»shuffleCards();»/>’;