Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> обход элементов jquery 
:(
    Опции темы
lumentek
Дата 6.2.2012, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 180
Регистрация: 19.11.2009

Репутация: нет
Всего: нет



есть такой блок  

Код

<div id="tb_content"> 
         <div class="t_group" id="t1">1</div> 
         <div class="t_group" id="t2">2</div> 
         <div class="t_group" id="t3">3</div> 
 </div> 




 мне нужно по очереди каждые 5 секунд обходить все дивы с классом t_group и показывать через алерт название id текущего дива. это все беспрерыва, пологаю как-то через setInterval?
т.е. каждые 5 секунд переключаться на следущий див циклично
PM MAIL   Вверх
$дмитрий
Дата 6.2.2012, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1037
Регистрация: 19.6.2004

Репутация: 5
Всего: 45



Можно и через setInterval. Подробнее расскажи зачем это нужно?
PM MAIL   Вверх
ksnk
Дата 6.2.2012, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 48
Всего: 386



Код

setInterval(function(){
       if($('.t_group.active','#tb_content').removeClass('active').nextAll('.t_group').eq(0).addClass('active').length==0)
             $('.t_group:first','#tb_content').addClass('active');
       console.log($('.t_group.active','#tb_content').attr('id'));
},5000);


Из человеколюбивых соображений alert заменен на console.log. Если ОЧЕНЬ надо - можно заменить ;) 

Это сообщение отредактировал(а) ksnk - 7.2.2012, 08:52


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
12345c
Дата 7.2.2012, 01:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 6
Всего: 101



knsk: а где же цикличность? )
В случае с alert() лучше использовать setTimeout, потому что он не накапливает очередь ответов при задержке.
Код

var iCurrentDiv =0
    , $allDivs = $('.t_group', $('#tb_content'))
    , lenAllDivs = $allDivs.length;
function(){
    var f = arguments.callee //можно через явное имя
        , $currentDiv = $allDivs.eq(iCurrentDiv++);
    if(iCurrentDiv == lenAllDivs)
        iCurrentDiv =0;
    setTimeout(function(){
        console.log($currentDiv.attr('id')) //сообщение или alert (если нужно хуже)
        f(); //замыкание
    },5000);
}
(если нигде не ошибся)

Это сообщение отредактировал(а) 12345c - 7.2.2012, 01:10


--------------------
Google Code Playground - онлайн-отладка своих примеров HTML+JS без регистрации, с сохранением по URL, без кириллицы. Go
PM WWW   Вверх
ksnk
Дата 7.2.2012, 08:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 48
Всего: 386



Цитата(12345c @  7.2.2012,  01:09 Найти цитируемый пост)
knsk: а где же цикличность? )

setInterval, конечно !  smile 
Поправил...

Добавлено через 1 минуту и 31 секунду
И ошибку тоже...

Добавлено через 2 минуты и 54 секунды
http://jsfiddle.net/uZxDk/


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1141 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.