1

Тема: Временной интервал смены баннера

Всем привет!
Тема: молодежная.
Подскажите, пожалуйста, кто знает, как изменить время смены баннера.
Хотелось бы установить его на 4 секунды.
Спасибо!

Повысить оценку Понизить оценку

Re: Временной интервал смены баннера

В молодёжной по пути
/templates/ВАША ТЕМА/moduleview/banners/blocks/slider/slider.tpl

Там нужно строку с подключением js заменить

{addjs file="{$mod_js}jquery.photoslider.js" basepath="root"}

на

{addjs file="jquery.photoslider.js"}

Тогда JS файл отвечающий за слайдер будет подключаться не из папки модуля banners, а из папки вашей темы. Его и можно поправить.
Нам теперь надо сделать копию
/modules/banners/view/js/jquery.photoslider.js
в папку
/templates/ВАША ТЕМА/resourse/js/jquery.photoslider.js
Мы его открываем и меняем:

interval: 10 * 1000,

На

interval: 4 * 1000,

Сохраняем и сбрасываем кэш.

3

Re: Временной интервал смены баннера

А как сделать чтобы слайдер снова включался после действий пользователя? Например посетитель сам пощелкал слайдер. По-умолчанию слайдер остановится на последнем выбранном слайде. Вопрос: а как его теперь запустить опять по кругу? Куда функцию autoPlay(); вставить нужно?

Повысить оценку Понизить оценку

Re: Временной интервал смены баннера

А как сделать чтобы слайдер снова включался после действий пользователя? Например посетитель сам пощелкал слайдер. По-умолчанию слайдер остановится на последнем выбранном слайде. Вопрос: а как его теперь запустить опять по кругу? Куда функцию autoPlay(); вставить нужно?

В конец метода set:

5

Re: Временной интервал смены баннера

Закусило Александр пишет:

А как сделать чтобы слайдер снова включался после действий пользователя? Например посетитель сам пощелкал слайдер. По-умолчанию слайдер остановится на последнем выбранном слайде. Вопрос: а как его теперь запустить опять по кругу? Куда функцию autoPlay(); вставить нужно?

В конец метода set:

Если добавляю в конец то начинается чихорда со слайдами.

set: function(n, autoplay) {
                    if (!autoplay) clearInterval(data.options.intervalHandler);
                    if ($(data.options.item+':eq('+(n-1)+')', $this).is('.'+data.options.itemActClass+',.transform')) return false;
                    $(data.options.item+':eq('+(n-1)+')', $this).addClass('transform').fadeIn(function() {
                        $(data.options.item+'.'+data.options.itemActClass, $this).hide().removeClass(data.options.itemActClass);
                        $(this).removeClass('transform');
                        $(this).addClass(data.options.itemActClass);
                    });
                    
                    $(data.options.selector, $this).removeClass(data.options.selectorActClass);
                    $(data.options.selector+':eq(' + (n-1) + ')', $this).addClass(data.options.selectorActClass);
                    
                    $(data.options.prev, $this).toggle(n > 1);
                    $(data.options.next, $this).toggle(n < data.options.max);
                    data.options.current = n;
                    autoPlay();
                }

а нужно чтобы запуск начинался через интервал, который задан в переключении, если пользователь не нажимает никакие кнопки выбора слайдов.

Повысить оценку Понизить оценку

Re: Временной интервал смены баннера

Попробуйте тогда удалить его из метода set, а там где у Вас идёт переключение в методах next и prev, идёт вызов methods.set нужно вторым аргументом поставить true. Потому что суда по первой строке метода set, он удаляет интервальное зацикливание, если нет второго аргумента.