Показать сообщение отдельно
  #3 (permalink)  
Старый 13.06.2012, 15:39
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

После загрузки плагина, и перед его инициализацией:
(function(){
	var proxied = $.fn.parallaxSlider;
	if (!proxied) {
		throw new Error("There is no parallax slider");
	}
	$.extend(proxied, {
		"next": function(){
			$(this).data("ps.next").trigger("click");
		},
		"prev": function(){
			$(this).data("ps.prev").trigger("click");
		}
	});
	$.fn.parallaxSlider = function(options) {
		$(this).each(function(that){
			that = $(that);
			that.data("ps.prev", that.find(".pxs_prev"));
			that.data("ps.next", that.find(".pxs_next"));
			var id = setInterval(function(){
				if (!that.data("ps.pauseAuto")) {
					that.next();
				}
				if (!that.data("ps.stopAuto")) {
					clearInterval(id);
				}
			}, options.autoScrollTime || 3000);
		});
		return proxied.apply(this, arguments);
	} 
})();

В настройках указываем свойство autoScrollTime (число), равное интервалу между сменой картинок.
Чтобы приостановить автосмену, для элемента, которому вызвали плагин, нужно через data записать правдивое значение в свойство ps.pauseAuto. Чтобы остановить её, присвоить правдивое значение свойству px.stopAuto.
var slider = $(".parallax").parallaxSlider({/*options*/});

// надо бы приостановить его на время
slider.data("ps.pauseAuto", true);

// надоело уже
slider.data("ps.stopAuto", true);

Писалось на коленке... если бы сделали демку этого скрипта в примерочной, можно было бы получше написать.
Ответить с цитированием