Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.01.2012, 11:24
Аватар для RazZzeR
Кандидат Javascript-наук
Отправить личное сообщение для RazZzeR Посмотреть профиль Найти все сообщения от RazZzeR
 
Регистрация: 11.12.2011
Сообщений: 146

Разброс блоков в рандом порядке.
Всем привет, это снова я, с бесконемным числом вопросов

Сейчас вот что требуется:
Разбросать блоки в рандом порядке.

снова работаю над плейером...

например парент у нас id='music'
а каждый в нем tr - это трек.

http://javascript.ru/forum/attachmen...d=132600723 3


например иходный текст:
<table id='music'>
<tr id='1'>...</tr>
<tr id='2'>...</tr>
<tr id='3'>...</tr>
<tr id='4'>...</tr>
<tr id='5'>...</tr>
<tr id='6'>...</tr>
<tr id='7'>...</tr>
</table>

а что должно получится:



<table id='music'>
<tr id='2'>...</tr>
<tr id='5'>...</tr>
<tr id='7'>...</tr>
<tr id='1'>...</tr>
<tr id='3'>...</tr>
<tr id='4'>...</tr>
<tr id='6'>...</tr>
</table>

тоесть порядок рандомный.
и желательно чтобы innerHTML у этих tr не трогался, дабы не портить содержим

/////////////////////////////////////////

и еще вот попрос.
по этой же теме, но другой.
как получить рандомный блок, например для его редактирования,
если есть парент, например id='music' как выше.



///////// PS
сразу говорю - о гет запросе с построением в рандом порядке уже думал, не подходит.


Заранее благодарен за поддержку, благодарен не на словах
Изображения:
Тип файла: jpg 2012-01-08_111431.jpg (116.9 Кб, 11 просмотров)

Последний раз редактировалось RazZzeR, 08.01.2012 в 11:27.
Ответить с цитированием
  #2 (permalink)  
Старый 08.01.2012, 12:07
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,480

<table id='music'>
 <tr id='1'><td>1</td></tr>
 <tr id='2'><td>2</td></tr>
 <tr id='3'><td>3</td></tr>
 <tr id='4'><td>4</td></tr>
 <tr id='5'><td>5</td></tr>
 <tr id='6'><td>6</td></tr>
 <tr id='7'><td>7</td></tr>
</table>
<script>
var table=document.getElementById('music'), tr=table.getElementsByTagName('tr'), i=tr.length;
table=tr[0].parentNode; //ибо tbody итп
while(i--) Math.random()<.5 ? table.appendChild(tr[i]) : table.insertBefore( tr[i], table.firstChild );
</script>
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 08.01.2012, 12:13
Аватар для RazZzeR
Кандидат Javascript-наук
Отправить личное сообщение для RazZzeR Посмотреть профиль Найти все сообщения от RazZzeR
 
Регистрация: 11.12.2011
Сообщений: 146

отлично, давай wmr кошелек
Ответить с цитированием
  #4 (permalink)  
Старый 08.01.2012, 12:35
Аватар для RazZzeR
Кандидат Javascript-наук
Отправить личное сообщение для RazZzeR Посмотреть профиль Найти все сообщения от RazZzeR
 
Регистрация: 11.12.2011
Сообщений: 146

а что если усложнить задачу, и список постраивается у меня вот так:

<table id='music'>
<tr id='1'><td>1</td></tr>
<tr id='p1'><td>1</td></tr>
<tr id='2'><td>2</td></tr>
<tr id='p2'><td>2</td></tr>
<tr id='3'><td>3</td></tr>
<tr id='p3'><td>3</td></tr>
<tr id='4'><td>4</td></tr>
<tr id='p4'><td>4</td></tr>
<tr id='5'><td>5</td></tr>
<tr id='p5'><td>5</td></tr>
<tr id='6'><td>6</td></tr>
<tr id='p6'><td>6</td></tr>
<tr id='7'><td>7</td></tr>
<tr id='p7'><td>7</td></tr>
</table>


и список надо построить вот так:



<table id='music'>
<tr id='6'><td>6</td></tr>
<tr id='p6'><td>6</td></tr>
<tr id='4'><td>4</td></tr>
<tr id='p4'><td>4</td></tr>
<tr id='2'><td>2</td></tr>
<tr id='p2'><td>2</td></tr>
<tr id='3'><td>3</td></tr>
<tr id='p3'><td>3</td></tr>
<tr id='5'><td>5</td></tr>
<tr id='p5'><td>5</td></tr>
<tr id='7'><td>7</td></tr>
<tr id='p7'><td>7</td></tr>
<tr id='1'><td>1</td></tr>
<tr id='p1'><td>1</td></tr>
</table>

(в рандомном порядке, но рядом с ним должен быть блок p[число]
Ответить с цитированием
  #5 (permalink)  
Старый 08.01.2012, 13:38
Аватар для RazZzeR
Кандидат Javascript-наук
Отправить личное сообщение для RazZzeR Посмотреть профиль Найти все сообщения от RazZzeR
 
Регистрация: 11.12.2011
Сообщений: 146

imposible?
Ответить с цитированием
  #6 (permalink)  
Старый 08.01.2012, 14:01
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,480

Да нет, я просто на работе какбэ)
<table id='music'>
 <tr><td>1</td></tr>
 <tr><td>к1</td></tr>
 <tr><td>2</td></tr>
 <tr><td>к2</td></tr>
 <tr><td>3</td></tr>
 <tr><td>к3</td></tr>
 <tr><td>4</td></tr>
 <tr><td>к4</td></tr>
 <tr><td>5</td></tr>
 <tr><td>к5</td></tr>
 <tr><td>6</td></tr>
 <tr><td>к6</td></tr>
 <tr><td>7</td></tr>
 <tr><td>к7</td></tr>
</table>
<script>
(function(){
  var rand, table=document.getElementById('music'), tr=[].slice.call(table.getElementsByTagName('tr')), i=tr.length;
  table=tr[0].parentNode; //ибо tbody итп
  while(i--){
    if(i%2) rand = Math.random()<.5;
    table.insertBefore( tr[i], rand ? table.firstChild : i%2 ? null : table.lastChild )
  }
})()
</script>


R117571207359
__________________
29375, 35
Ответить с цитированием
  #7 (permalink)  
Старый 08.01.2012, 14:06
Аватар для RazZzeR
Кандидат Javascript-наук
Отправить личное сообщение для RazZzeR Посмотреть профиль Найти все сообщения от RazZzeR
 
Регистрация: 11.12.2011
Сообщений: 146

очень благодарен. скидываю бонусик 300 вмр, надеюсь не мало
буду признателен если аську оставишь, у меня много работы есть для профи =3

Последний раз редактировалось RazZzeR, 08.01.2012 в 14:09.
Ответить с цитированием
  #8 (permalink)  
Старый 08.01.2012, 14:12
Аватар для RazZzeR
Кандидат Javascript-наук
Отправить личное сообщение для RazZzeR Посмотреть профиль Найти все сообщения от RazZzeR
 
Регистрация: 11.12.2011
Сообщений: 146

эх, только всеравно рано или позно глюк происходит. наверно надо обнулять переменную. сейчас попробую
Ответить с цитированием
  #9 (permalink)  
Старый 08.01.2012, 14:16
Аватар для RazZzeR
Кандидат Javascript-наук
Отправить личное сообщение для RazZzeR Посмотреть профиль Найти все сообщения от RazZzeR
 
Регистрация: 11.12.2011
Сообщений: 146

тоесть если функцию выполнять раз 5-6 то они не ровно стоят. тоесть например

1
к1

2
к3
Ответить с цитированием
  #10 (permalink)  
Старый 08.01.2012, 14:17
Аватар для RazZzeR
Кандидат Javascript-наук
Отправить личное сообщение для RazZzeR Посмотреть профиль Найти все сообщения от RazZzeR
 
Регистрация: 11.12.2011
Сообщений: 146

аа, кстати как еще сделать чтобы абсолютно весь список рандомно перевернулся?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Печать невидимых блоков mixeeff Events/DOM/Window 7 11.03.2009 11:41