Прикрутить jQuery слайдер

Главные вкладки

Аватар пользователя Sora_tm Sora_tm 20 сентября 2011 в 10:02

Нашел идеальный для моих задач слайдер

http://webdeveloperplus.com/jquery/featured-content-slider-using-jquery-ui/

Может кто подскажет логику подключения его к Drupal? Или какие полезные материалы по поводу прикручивания нечто похожего.
Сейчас для слайдшоу использую стандартный views_slideshow с простым перелистыванием, хочется такой.
Спасибо заранее!

Комментарии

Аватар пользователя KTATTOO KTATTOO 20 сентября 2011 в 10:43

Для начала прикрутите сам скрипт к теме прописав в template.php
строку (разберетесь где надеюсь)

drupal_add_js(drupal_get_path('theme', 'название_темы') . '/js/script.js');

где '/js/script.js' путь к самому скрипту, 'название_темы' - название темы к которой скрипт цепляете

Далее кладем скрипт в js папку темы и заменяем в нем все $ на jQuery (рекомендуемо, с $ в семерке скрипт выдает ошибку)

Ну а далее все по плану, дивы - в шаблон, стили - в стили)))

Удачи

Аватар пользователя Sora_tm Sora_tm 20 сентября 2011 в 10:59

KTATTOO wrote:
Для начала прикрутите сам скрипт к теме прописав в template.php
строку (разберетесь где надеюсь)

drupal_add_js(drupal_get_path('theme', 'название_темы') . '/js/script.js');

где '/js/script.js' путь к самому скрипту, 'название_темы' - название темы к которой скрипт цепляете

Далее кладем скрипт в js папку темы и заменяем в нем все $ на jQuery (рекомендуемо, с $ в семерке скрипт выдает ошибку)

Ну а далее все по плану, дивы - в шаблон, стили - в стили)))

Удачи

Спасибо, вроде как все понятно, буду вечером колдовать. Я так понимаю это метод и для 6 версии подходит?

Аватар пользователя KTATTOO KTATTOO 20 сентября 2011 в 11:11

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

Аватар пользователя Sora_tm Sora_tm 21 сентября 2011 в 10:56

alex_shut wrote:
http://drupalsn.ru/blogs/development/392 вот урок на замутку подобной шняги))) Получится, расскажи)) Ато у самого пока руки не дошли попробовать такую прелесть.

Спасибо, я как раз вчера нашел эту статью, только здесь
http://www.varvashenia.ru/cms/drupal/theme/jquery_slider/
Попробовал, все получилось сделать Smile

Аватар пользователя Sora_tm Sora_tm 21 сентября 2011 в 20:51

Короче сделал слайд как по ссылкам, и опять возник вопрос, как сделать автопрокрутку???

$(document).ready(function() {
       
        $('#content-content .attachment .views-row-1').addClass('active');
        $('#content-content .attachment .views-row-1').click(function(){jsSetSlider(1)});
        $('#content-content .attachment .views-row-2').click(function(){jsSetSlider(2)});
        $('#content-content .attachment .views-row-3').click(function(){jsSetSlider(3)});
        $('#content-content .attachment .views-row-4').click(function(){jsSetSlider(4)});
        $('#content-content .attachment .views-row-4').hover(
                function(){
                        obj=$('#content-content .view-news3 .view-content:last-child');
                        $(obj[1]).addClass('last-active');
                },
                function(){
                        obj=$('#content-content .last-active').removeClass('last-active');
                }
        );
       
        function jsSetSlider(n){
                switch(n){
                        case 2:
                                dy=-280;
                        break;
                        case 3:
                                dy=-560;
                        break;
                        case 4:
                                dy=-840;
                        break;
                        default:
                                dy=0;
                        break;
                }
                $('#content-content .attachment .views-row').removeClass('active');
                $('#content-content .attachment .views-row-'+n).addClass('active')
                obj=$('#content-content .view-news3 .view-content:last-child');
                $(obj[1]).animate({top:dy});
        }
});
Аватар пользователя varvashenia varvashenia 22 сентября 2011 в 4:32

по поводу автопрокрутки.
В по таймеру запускаете jsSetSlider с нужным параметром
должно получится что-то типа такого:

var slider_cur = 1;
var slider_total = 4;
var slider_is_autoplay = true;  //переключатель играть/не играть - по активности пользователя можно вырубать автоиграние
var slider_interval = 2500;
var slider_interval_id = 0;
function slider_timer() {
  if(slider_is_autoplay) {
    slider_cur++;
    if (slider_cur > slider_total) {
      slider_cur = 1;
    }
    jsSetSlider(slider_cur);
  }
}
  //запускаем слайдер
slider_interval_id = setInterval(slider_timer, slider_interval);
Аватар пользователя Sora_tm Sora_tm 22 сентября 2011 в 10:27

varvashenia wrote:
по поводу автопрокрутки.
В по таймеру запускаете jsSetSlider с нужным параметром
должно получится что-то типа такого:

var slider_cur = 1;
var slider_total = 4;
var slider_is_autoplay = true;  //переключатель играть/не играть - по активности пользователя можно вырубать автоиграние
var slider_interval = 2500;
var slider_interval_id = 0;
function slider_timer() {
  if(slider_is_autoplay) {
    slider_cur++;
    if (slider_cur > slider_total) {
      slider_cur = 1;
    }
    jsSetSlider(slider_cur);
  }
}
  //запускаем слайдер
slider_interval_id = setInterval(slider_timer, slider_interval);

Спасибо огромное! вчера до таймера сам вроде допер, но цикл не смог родить, до конца переключалось и все.
Сейчас даже сам родил остановку этой прокрутки по наведению на слайд используя slider_is_autoplay.

$('#content-content .view-news3 .view-content').hover(
                function(){
                        slider_is_autoplay = false;
                },
                function(){
                        slider_is_autoplay = true;
                }
        );