Проблема перетасовки порядка созданных div - PullRequest
0 голосов
/ 18 февраля 2019

Я спросил о том, как перетасовать порядок некоторых созданных div-ов в JS здесь .И один человек ответил мне, но когда я делаю то, что он сказал мне, некоторые div не показываются, а другие появляются дважды.Как я могу сделать так, чтобы при обновлении автоматически перетасовывать заказ без этих проблем?Спасибо!

1 Ответ

0 голосов
/ 18 февраля 2019

«Некоторые элементы появляются дважды» означает, что вы сделали что-то не так с shuffle .Если вы можете вставить полный код.Я не знаю, как ты это сделал, но попробуй что-нибудь ниже,

var dbUsers = firebase.database().ref('...');

dbUsers.on('value', gotData1, errData1);

function gotData1(data) {
    var users = data.val();
    var keys = Object.keys(users);

    // Shuffle 'keys' here
    shuffledKeys = shuffle(keys);

    for (var i = 0; i < keys.length; i++) {
        var k = keys[i];
        var name = users[k].name;

        var div = document.createElement('div');
        div.setAttribute('class', 'div');

        var usersPre = document.createElement('pre');
        usersPre.textContent = name;
        div.appendChild(usersPre);

    };
}
function shuffle(array) {
    var currentIndex = array.length, randomIndex;
    var temporaryValue;

    // While there remain elements to shuffle...
    while (0 !== currentIndex) {

        // Pick a remaining element...
        randomIndex = Math.floor(Math.random() * currentIndex);
        currentIndex -= 1;

        // And swap it with the current element.
        temporaryValue = array[currentIndex];
        array[currentIndex] = array[randomIndex];
        array[randomIndex] = temporaryValue;
    }

    return array;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...