Страницы

Поиск по вопросам

вторник, 21 мая 2019 г.

Как на jquery поставить checked всем checkbox что бы флажок ставился по одному и желательно рандомно

Есть кучка чекбоксов, у каждого есть свой id. Хочу чтобы при загрузке документа загорелись те, которые я хочу. Но что бы не одновременно загорелись, а через допустим 200 миллисекунд, и в рандомном порядке.
Не могу додуматься как это сделать. Сколько не пробовал, либо загораются все сразу, либо вообще не загораются.

$('#sass').prop('checked',true);
Вот так писал. Как задать им очередь не знаю


Ответ

Выбираем все желаемые элементы. Превращаем набор в массив. Перемешиваем используя алгоритм Фишера-Йетса Для каждого элемента массива создаём задержку для изменения чекбокса.
function shuffle(a) { for (var m=a.length; m; ) { var i = Math.random() * m-- | 0; var t = a[i]; a[i] = a[m]; a[m] = t; } return a; } $(function () { var DELAY = 500; var els = shuffle($("#a,#c,#g,#i,#j,#k,#l,#o,#p,#s,#u,#v,#x").toArray()); for (var q=0; q

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

Отправить комментарий