javascript: выбрать и перемешать
Доброе время суток, уважаемые.
Есть таблица, состоящая из некоторого количества div-ов, определенных одним классом. Как средствами javascript выбрать эти div-ы одного класса и перемешать между собой в хаотичном порядке? Заранее благодарю за внимание и ценные советы! |
Выбрать просто:
var divs = document.querySelectotAll('.class');
А вот на счёт перемешать - зависит от структуры. |
|
рони, всё так просто если эти div'ы в одном контейнере. Если же нет, то всё сложнее.)
|
Aetae,
неа тоже самое -- только создать массив с parentNode будет что то типа list[j].appendChild( elem_arr[ c[j] ] ) |
рони, неа. Дивы то в этих разных контейнерах ещё и в разных позициях могут находиться, а ещё они могут быть по парочке в одном месте.))
|
Aetae,
:write:
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<style type="text/css">
.bar{
border: #FF3399 2px solid ;
padding: 5px;
}
div {
display: inline;
}
</style>
</head>
<body>
<div class="foo">1</div>
<div class="bar"><div class="foo">2</div>
<div class="foo">3</div></div>
<div class="bar"><div class="foo">4</div></div>
<div class="foo">5</div>
<input name="" type="button" value="go" onclick="go()">
<script>
var divs = [].slice.call(document.querySelectorAll('.foo')),
len = divs.length,
elem = document.createElement("div");
function go() {
for (var i = 0; i < len; i++) {
var rand = Math.floor(Math.random() * len);
divs[i].parentNode.replaceChild(elem, divs[i]);
i != rand && divs[rand].parentNode.replaceChild(divs[i], divs[rand]);
elem.parentNode.replaceChild(divs[rand], elem)
}
}
</script>
</body>
</html>
|
всем еще раз спасибо!, буду разбираться.
** div-ы определенного класса складывают таблицу, в которой и перемешиваются объекты... работает!) |
| Часовой пояс GMT +3, время: 23:10. |