Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 31.05.2010, 10:53
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

$('ul.menu').each(function(){
  $('<ul class="menu"></ul>').append($('li:gt(4)', this)).insertAfter(this);
});
Ответить с цитированием
  #12 (permalink)  
Старый 31.05.2010, 10:58
Интересующийся
Отправить личное сообщение для Alexxx Посмотреть профиль Найти все сообщения от Alexxx
 
Регистрация: 30.05.2010
Сообщений: 15

Сообщение от B@rmaley.e><e Посмотреть сообщение
$('ul.menu').each(function(){
  $('<ul class="menu"></ul>').append($('li:gt(4)', this)).insertAfter(this);
});
Да, работает, спасибо за подсказку, но дело в том, что li:gt(4) обрамляет не каждые 4 пункта меню, а первые 4 и все остальные (а их может быть много). Поэтому получается, что такой вариант корректно работает с меню до 8 пунктов.
Ответить с цитированием
  #13 (permalink)  
Старый 31.05.2010, 10:58
Интересующийся
Отправить личное сообщение для Alexxx Посмотреть профиль Найти все сообщения от Alexxx
 
Регистрация: 30.05.2010
Сообщений: 15

Сообщение от micscr Посмотреть сообщение
За готовым кодом - в раздел работа, там за пару баксов сделают.

А тут попрошу потрудиться самому иначе не будет толка.
Алгоритм уточню:
1) создаем контейнер накопления
2) пробегаем по li существующего при этом каждые 4-е запихиваем в отдельный ul
3) эти отдельные ul добавляем в контейнер
4) вместо исходного списка вставляем контейнер

Используются только широко распространенные методы jQuery. Жду попыток.
Буду пытаться. Хотя даже не знаю как сделать 1 пункт))
Ответить с цитированием
  #14 (permalink)  
Старый 31.05.2010, 11:03
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,566

Сообщение от Alexxx Посмотреть сообщение
Буду пытаться. Хотя даже не знаю как сделать 1 пункт))
$ulist = $('<div></div>');
Ответить с цитированием
  #15 (permalink)  
Старый 31.05.2010, 11:36
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от Alexxx
Я в Jquery небельмес
если ты в javascript бельмес, вопросов быть не должно

Сообщение от Alexxx
Буду пытаться. Хотя даже не знаю как сделать 1 пункт))
задавай вопросы
Ответить с цитированием
  #16 (permalink)  
Старый 31.05.2010, 11:48
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

Есть ещё такой вариант:

var num = 3; // кол-во четвёрок <li>
for (var i = 0; i <= num; i++) {
	$('ul.menu li:lt(' + (i * 4) + '):gt(' + (i * 4 + 3) + ')').wrapAll('<ul class="menu"></ul>')
}
Ответить с цитированием
  #17 (permalink)  
Старый 31.05.2010, 12:08
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,566

Сообщение от exec Посмотреть сообщение
Есть ещё такой вариант:

var num = 3; // кол-во четвёрок <li>
for (var i = 0; i <= num; i++) {
	$('ul.menu li:lt(' + (i * 4) + '):gt(' + (i * 4 + 3) + ')').wrapAll('<ul class="menu"></ul>')
}
проверял? А то у меня ничего не происходит(потому что коллекции пустые).
Ответить с цитированием
  #18 (permalink)  
Старый 31.05.2010, 12:09
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Сообщение от exec
var num = 3; // кол-во четвёрок <li>
Ужас. А вычислить нельзя?
Ответить с цитированием
  #19 (permalink)  
Старый 31.05.2010, 12:24
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,566

Сообщение от B@rmaley.e><e Посмотреть сообщение
Ужас. А вычислить нельзя?
а зачем ему мучаться? Главное же побыстрей свой новый вариант продемонстрировать . А работает, не работает ...
Ответить с цитированием
  #20 (permalink)  
Старый 31.05.2010, 12:30
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от micscr
проверял? А то у меня ничего не происходит(потому что коллекции пустые).
хотя казалось бы, такой ник... мог бы и проверить
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как изменить background всех дочерних элементов внутри <div>? libinstyle Общие вопросы Javascript 2 24.03.2010 13:25
Как прочитать список имён элементов в Cookie? Бобр Общие вопросы Javascript 6 09.02.2010 08:47
как записать id всех элементов в массив? SunYang Общие вопросы Javascript 21 06.02.2010 22:50
Как снять фокус со всех элементов? Logo Общие вопросы Javascript 7 02.07.2009 23:53
Как обработать несколько элементов подряд? vladymyrk jQuery 1 07.01.2009 20:33