Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.05.2012, 15:01
Аспирант
Отправить личное сообщение для culver Посмотреть профиль Найти все сообщения от culver
 
Регистрация: 10.05.2012
Сообщений: 52

Автопрокрутка карусельки
Добрый день, помогите начинающему, пожалуйста.
Сделал простую карусельку из дивов, повесил два обработчика событий для прокрутки вправо/влево:
Код:
$(document).ready(function(){

	$(".b-carousel-button-right").click(function(){ // при клике на правую кнопку запускаем следующую функцию:
		$(".h-carousel-items").animate({left: "-168px"}, 400); // производим анимацию: блок с набором картинок уедет влево на 222 пикселя (это ширина одного прокручиваемого элемента) за 200 милисекунд.
		$(".h-carousel-items .b-carousel-block").slice(5,6).css({"display":"block"});
		setTimeout(function () { // устанавливаем задержку времени перед выполнением следующих функций. Задержка нужна, т.к. эти ффункции должны запуститься только после завершения анимации.
			$(".h-carousel-items .b-carousel-block").eq(0).clone().appendTo(".h-carousel-items").css({"display":"none"});; // выбираем первый элемент, создаём его копию и помещаем в конец карусели
			$(".h-carousel-items .b-carousel-block").eq(0).remove(); // удаляем первый элемент карусели		
			$(".h-carousel-items").css({"left":"0px"}); // возвращаем исходное смещение набора набора элементов карусели
		}, 500);
		
	});
	
	$(".b-carousel-button-left").click(function(){ // при клике на левую кнопку выполняем следующую функцию:		
		$(".h-carousel-items .b-carousel-block").eq(-1).clone().prependTo(".h-carousel-items").css({"display":"block"}); // выбираем последний элемент набора, создаём его копию и помещаем в начало набора	
		$(".h-carousel-items").css({"left":"-168px"}); // устанавливаем смещение набора -222px		
		$(".h-carousel-items").animate({left: "0px"}, 400); // за 200 милисекунд набор элементов плавно переместится в исходную нулевую точку
		setTimeout(function () { // устанавливаем задержку времени перед выполнением следующих функций. Задержка нужна, т.к. эти ффункции должны запуститься только после завершения анимации.
			$(".h-carousel-items .b-carousel-block").eq(-1).remove(); // выбираем последний элемент карусели и удаляем его
			$(".h-carousel-items .b-carousel-block").slice(5).css({"display":"none"});
		}, 500);
	});

});
Всё работает, но при попытке добавить автоматический вызов события для автопрокрутки:
Код:
$(document).ready(setInterval($(".b-carousel-button-left").click(), 2000););
ничего не работает, даже то, что работало.
Подскажите, пожалуйста, в чём я ошибся?
Ответить с цитированием
  #2 (permalink)  
Старый 10.05.2012, 22:03
Аспирант
Отправить личное сообщение для atlantis Посмотреть профиль Найти все сообщения от atlantis
 
Регистрация: 18.03.2012
Сообщений: 95

$(document).ready(function(){setInterval(function(){$(".b-carousel-button-left").click();}, 2000);});
Ответить с цитированием
Ответ



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

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