</div> <div id="2"></div> <div id="3"></div> <div id="4"></div> это <div"> </div> <div id="2"></div> <div id="3"></div> <div id="4"></div> это <div"> </div> <div id="2"></div> <div id="3"></div> <div id="4"></div> это <div" />

Как я могу перестроить заказ отделения в каждом перезагружать?

Есть ли способ перестроить заказ отделения? Более точный, как я могу добраться от

<div id="1"></div>
<div id="2"></div>
<div id="3"></div>
<div id="4"></div>

это

<div id="3"></div>
<div id="1"></div>
<div id="4"></div>
<div id="2"></div>

или любой другой заказ в каждом перезагружать.

0
если я использую math.random() isn' t шанс иметь два отделения с тем же самым id, например?
добавлено автор Dan Ovidiu Boncut, источник
It' s не исправляют, чтобы использовать тот же самый id для двух элементов.
добавлено автор Chuck Norris, источник
Покажите то, что вы попробовали и даете больше специфических особенностей (случайный, установите определенный новый порядок и т.д.), я оставляю телепатию способным к нему.
добавлено автор Mark Schultheiss, источник

6 ответы

Простой как это

$("#parent").html($("#parent").children().sort(function() { return 0.5 - Math.random() }));

Here is working example http://jsfiddle.net/CPQXw/1/

5
добавлено

See this: http://jsfiddle.net/KfY4u/

$("div.container div").sort(function(){
    return Math.random()*10 > 5 ? 1 : -1;
}).each(function(){
    var $t = $(this);
    $t.appendTo( $t.parent() );   
});

И это работает на любое количество отделение признаки

3
добавлено

Другой отрывок:

http://jsfiddle.net/t8gU7/

var $divs = $('#container div');
for(var j, x, i = $divs.length; i; j = parseInt(Math.random() * i), x = $divs[--i], $divs[i] = $divs[j], $divs[j] = x);
$('body').append($divs);
2
добавлено

Я предположу, что у вас есть множество с заказом, как это: заказ вара = [3, 1, 4, 2]; Теперь, я предположу, что у вас есть контейнерное отделение для ваших отделений, как это:

<div id="container">
  <div id="1"></div>
  <div id="2"></div>
  <div id="3"></div>
  <div id="4"></div>
</div>

То, как необходимо продолжить двигаться, является этим: пройдите множество от конца до начала и предварительно будьте на рассмотрении каждое отделение с соответствующим id 'контейнерному' отделению:

$(document).ready(function() {
  var order = [3, 1, 4, 2];

  for(var i=order.length-1; i>=0; i--) {
    $('#container').prepend($('#'+order[i]));
  }
});

Наслаждайтесь!

Править: мое понимание вопроса - то, как перестроить отделения не, как произвести новый произвольный порядок! Жаль, если я упустил суть, но именно это вы спросили в своем вопросе.

1
добавлено

Что-то вроде этого?

var ids = [], max = 4, i = 0, rand = 0;

while(i < max){
    do{
      rand = Math.floor(Math.random() * max); 
    } while(ids.indexOf(rand) < 0)
    ids.push(rand);
    i++;
}
1
добавлено
<body>
  <div id="1">1</div>
  <div id="2">2</div>
  <div id="3">3</div>
  <div id="4">4</div>
</body>

Ваниль Javascript ES6 - лучшая вещь сделать эту задачу. Внедрение на основе обеспеченной структуры HTML.

let divs = document.querySelectorAll("div");
let randomDiv = Array.from(divs).sort(()=>{return 0.5 - Math.random();});
document.body.innerHTML="";
randomDiv.map((x)=>{document.body.innerHTML+=`<div 
id=${x.id}>${x.textContent}</div>`   
});
0
добавлено
JavaScript Jobs — чат
JavaScript Jobs — чат
8 336 участник(ов)

JavaScript Jobs — чат для поиска работы и людей Правила оформления: https://teletype.in/@telegram-ru/r1WQe5F1m См. также: @mobile_jobs, @devops_jobs, @nodejs_jobs, @react_js, @angular_ru, @js_ru

JavaScript.ru
JavaScript.ru
7 932 участник(ов)

Сообщество сайта JavaScript.ru в Slack.

pro.js
pro.js
4 675 участник(ов)

Про JavaScript и NodeJS Invite: https://t.me/joinchat/Be4rsT5Rsgq30DHutjxXgA Правила: http://telegra.ph/ru-chat-rules-06-19 Вакансии только с ЗП, не чаще раза в неделю.

Верстка сайтов HTML/CSS/JS/PHP
Верстка сайтов HTML/CSS/JS/PHP
3 439 участник(ов)

Правила группы: напишите !rules в чате. Группа Вк: vk.com/web_structure Freelancer: @web_fl Веб Дизайн: @dev_design Маркетолог: @topmarkening Автор: @M_Boroda

JavaScript — русскоговорящее сообщество
JavaScript — русскоговорящее сообщество
3 269 участник(ов)

Рекомендуем сразу отключить уведомления Правила: https://rudevs.network/ByaMH6un7 См. также: @js_noobs_ru, @nodejs_ru, @typescript_ru, @react_js, @electron_ru Вакансии и поиск работы: @javascript_jobs

JavaScript Noobs — сообщество новичков
JavaScript Noobs — сообщество новичков
2 484 участник(ов)

Чат для новичков

javascript_ru
javascript_ru
915 участник(ов)

Сообщество любителей самого популярного языка программирования в мире. Чат основан в 2009 году. Логи: https://goo.gl/9EOeM7 Поддержка бота: @chat_linker (ссылка на репу внутри) Вам будут интересны @frontend_ru и @css_ru

jsChat
jsChat
603 участник(ов)

Чат посвященный программированию на языке javaScript Перед отправкой ссылки на Ваш контент посоветуйтесь с админом Все ссылки удаляются ботом автоматически

JavaScript for Zombies Chat
JavaScript for Zombies Chat
492 участник(ов)

Чат про JavaScript для настоящих zombie! Вход строго по приглашениям! Ссылка для строгих приглашений: https://t.me/joinchat/AAMBHz3Uyr0tuZ7VaB029g

All That JS
All That JS
417 участник(ов)

JS на русском