Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.08.2017, 09:56
Профессор
Отправить личное сообщение для Янковиц Посмотреть профиль Найти все сообщения от Янковиц
 
Регистрация: 17.11.2014
Сообщений: 403

Переход на следующий слайд
Добрый день, есть верстка для галереи:
<div class="slides">
  <div class="slide 1th"></div>
  <div class="slide 2th"></div>
  <div class="slide 3th"></div>
</div>
<div class="nav">
  <div class="btn-group">
    <div class="btn active"></div>
    <div class="btn"></div>
    <div class="btn"></div>
  </div>
</div>


Как сделать автоматический запуск слайдов?
Делаю так - эмулирую нажатие на кнопку навигации:
setInterval(function(){
	jQuery('.btn').trigger('click');
}, 6000);

Как сделать эмуляцию клика на следующий пункт навигации? Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 09.08.2017, 10:26
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Сообщение от Янковиц
Как сделать эмуляцию клика на следующий пункт навигации?
Если я правильно понял, "текущая" кнопка навигации та, что с классом active?
Если так, то:
- ищем кнопку с классом active
- берем следующую за ней и кликаем
- если следующей нет, берем первую и кликаем на ней
Ответить с цитированием
  #3 (permalink)  
Старый 09.08.2017, 10:30
Профессор
Отправить личное сообщение для Янковиц Посмотреть профиль Найти все сообщения от Янковиц
 
Регистрация: 17.11.2014
Сообщений: 403

Сообщение от ksa Посмотреть сообщение
Если я правильно понял, "текущая" кнопка навигации та, что с классом active?
Да, все верно. Только как это сделать?

Вернее второй и третий пункты?
Ответить с цитированием
  #4 (permalink)  
Старый 09.08.2017, 10:46
Профессор
Отправить личное сообщение для Янковиц Посмотреть профиль Найти все сообщения от Янковиц
 
Регистрация: 17.11.2014
Сообщений: 403

Дохожу до последнего, и останавливается
setInterval(function(){
	var elem = jQuery('.btn-group .active').next();
	if ( jQuery(elem).is(':last') ) {
		jQuery('.btn-group .btn').trigger('click');
	} else {
		jQuery(elem).trigger('click');
	}
}, 6000);
Ответить с цитированием
  #5 (permalink)  
Старый 09.08.2017, 10:48
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

var i = 0
	setInterval(function(){
	$('.btn').eq(i).trigger('click');
	i++;
	if(i==2) i = 0;
}, 6000);


как то так
Ответить с цитированием
  #6 (permalink)  
Старый 09.08.2017, 10:49
Профессор
Отправить личное сообщение для Янковиц Посмотреть профиль Найти все сообщения от Янковиц
 
Регистрация: 17.11.2014
Сообщений: 403

Дело в том, что заведомо неизвестно, сколько будет слайдов.
Ответить с цитированием
  #7 (permalink)  
Старый 09.08.2017, 10:50
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

var i = 0
	setInterval(function(){
	$('.btn').eq(i).trigger('click');
	i++;
	if(i== $('.slide').length-1) i = 0;
}, 6000);

тогда так
Ответить с цитированием
  #8 (permalink)  
Старый 09.08.2017, 10:55
Профессор
Отправить личное сообщение для Янковиц Посмотреть профиль Найти все сообщения от Янковиц
 
Регистрация: 17.11.2014
Сообщений: 403

Первый слайд меняется только со второй попытки. Обновляет у него класс active, и только потом переходит на второй.
Ответить с цитированием
  #9 (permalink)  
Старый 09.08.2017, 10:56
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,225

Сообщение от Янковиц
Дохожу до последнего, и останавливается
jQuery('.btn-group .btn').trigger('click');
Замени на
jQuery('.btn-group .btn:first-child').trigger('click');
Ответить с цитированием
  #10 (permalink)  
Старый 09.08.2017, 10:56
Профессор
Отправить личное сообщение для Янковиц Посмотреть профиль Найти все сообщения от Янковиц
 
Регистрация: 17.11.2014
Сообщений: 403

Кроме того, у меня пять слайдов, а с 4 прыгает на первую.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Плавный переход к элементу по внешней ссылке deniskutovskiy jQuery 13 16.10.2015 22:30
Как переместить активный слайд? makalet jQuery 0 17.08.2015 17:33
Переход по метке <a href = #metka> с нажатием в <ul><li> papacoca (X)HTML/CSS 2 01.10.2014 15:09
Открыть слайд (раздел) текущего пункта меню Demath Элементы интерфейса 8 18.07.2012 02:49
JS и getURL плавный переход к anchor Blizzart Общие вопросы Javascript 4 16.01.2011 17:48