Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.10.2014, 18:14
Интересующийся
Отправить личное сообщение для eucalipt Посмотреть профиль Найти все сообщения от eucalipt
 
Регистрация: 27.08.2014
Сообщений: 19

Помогите написать правильный код
Здравствуйте, делаю что-то на подобии карусели на сайт, только вместо прокручивания, блоки карусели должны медленно исчезать, а на их месте должны появляться другие. У меня уже есть идея, как это можно сделать, только не получается написать правильный код.

Итак, сама идея. Как только проходит определенный промежуток времени, сразу к элементу карусели (div.slide) должен добавляться класс active. По умолчанию прозрачность всех элементов будет равна нулю. А если к нему был добавлен класс active, то мы меняем прозрачность на 1. (Кстати, думал сделать не с прозрачностью, а с visibility иди display, какие у вас мысли по этому поводу).

Собственно, попытался организовать это следующим скриптом.
$(document).ready(function() {
	
	$numSlides = $("div.mgr div.slide").length;
	$slide = $("div.mgr div.slide");
	
	for (var i = 1; i <= $numSlides; i++) {
		
		setTimeout(function() {
		
			$("div.mgr div.slide." + i).addClass("active");
			
		}, 5000);
		
	}
	
});


Но он, почему-то, по истечении 5 секунд, тупо добавляет класс только последнему элементу.

HTML на всякий случай
<div class="mgr">
			<div class="slide 1">Первый слайд</div>
			<div class="slide 2">Второй слайд</div>
			<div class="slide 3">Третий слайд</div>
			<div class="slide 4">Четвертый слайд</div>
			<div class="slide 5">Пятый слайд</div>
		</div>



Помогите грамотно организовать код, пожалуйста!
Ответить с цитированием
  #2 (permalink)  
Старый 19.10.2014, 18:18
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

eucalipt,
попробуйте неиспользовать цикл и где снятие active
Ответить с цитированием
  #3 (permalink)  
Старый 19.10.2014, 18:21
Интересующийся
Отправить личное сообщение для eucalipt Посмотреть профиль Найти все сообщения от eucalipt
 
Регистрация: 27.08.2014
Сообщений: 19

Все будет, но не сразу
Снятие active будет потом, мне бы хотя бы сразу с добавлением разобраться.

От цикла отказываться не хочу, ибо самый удобный способ, чтобы не менять код скрипта каждый раз, когда я добавлю или уберу 1 или несколько слайдов. Если у вас есть решения, как это можно организовать без цикла - прошу выдвинуть, буду рад послушать.
Ответить с цитированием
  #4 (permalink)  
Старый 19.10.2014, 18:29
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от eucalipt
От цикла отказываться не хочу, ибо самый удобный способ
вы уверены что цикл вам хоть чем-то поможет?
на форуме много примеров того что вы хотите сделать в том числе и про ошибку использовать цикл для вашего слайдера, надо только поискать.
Ответить с цитированием
  #5 (permalink)  
Старый 19.10.2014, 18:36
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

eucalipt,
Как сделать свой слайдер на чистом js?
Ответить с цитированием
  #6 (permalink)  
Старый 19.10.2014, 18:50
Интересующийся
Отправить личное сообщение для eucalipt Посмотреть профиль Найти все сообщения от eucalipt
 
Регистрация: 27.08.2014
Сообщений: 19

Сейчас, посмотрим, спасибо
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите подкорректировать код Batyabest Events/DOM/Window 1 02.09.2014 15:37
Помогите написать генератор плеера с чекбоксом. fooks Общие вопросы Javascript 0 04.10.2013 23:49
Помогите написать JavaScript ! Alamogoro Общие вопросы Javascript 4 24.05.2012 19:11
Помогите плисс написать скрипт Gnusmus Events/DOM/Window 6 17.08.2011 15:51
Код калькулятора на JS. помогите с ошибкой! kirill.psl Общие вопросы Javascript 9 26.08.2010 11:38