Галерея для Drupal jqarousel+views

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

Аватар пользователя ХулиGUN ХулиGUN 3 октября 2011 в 0:04

Возникла потребность в создании галереи для портфолио, но все решения, что я просматривал не устраивали. Создал топик Прикрутить Ajax к вьюхе. Спасибо всем, что отговорили меня от затеи с аяксом. Организовал решение с помощью jquery. Если кому надо, подробный мануал тут. Я не мега-кодер, так что на кошерность кода и решения в целом не претендую

Комментарии

Аватар пользователя boneg boneg 3 октября 2011 в 0:36

Код можешь существенно сократить, переместив селекторы (а у тебя их тут всего 2) в переменные. А такие конструкции:

$('div.views-row').hide();//Прячем все строки основной вьюхи
    $('div.views-row').eq(n).show();//Показываем только ту строку, которая соответствует картинке из карусели

можно сокращать к такому виду:

$('div.views-row').hide().eq(n).show();

А такие:

 $('ul#viewscarousel-portfolio-attachment-1 li').mouseover(function(){//Ставим прозрачность элемента карусели при наведении на него мыши
 $(this).css('opacity', "0.9");
 });

 $('ul#viewscarousel-portfolio-attachment-1 li').mouseleave(function(){//Делаем полупрозрачность элементов карусели когда курсор мыши не наведён на них
 $(this).css('opacity', "0.5");
 $('ul#viewscarousel-portfolio-attachment-1 li').eq(n).css('opacity', 1);//Оставляем непрозрачным только активный элемент карусели
 });

к такому:

$('ul#viewscarousel-portfolio-attachment-1 li').hover(function(){
 $(this).css('opacity', "0.9");
 }, function(){
 $(this).css('opacity', "0.5");
 $('ul#viewscarousel-portfolio-attachment-1 li').eq(n).css('opacity', 1);
 }
);

И так далее...

Аватар пользователя boneg boneg 3 октября 2011 в 0:58

Ну раз на сайте заработало - значит имеет)) Правда в таком виде заработает только на твоем сайте. Рецепт не для всех (селектор div.views-row зацепит все views). Но раз сам написал, научился перебирать DOM по индексам и придумал алгоритм - двигаешься в правильном направлении. Большинство скачали бы просто типичную модуль-галерею и не парились. Если будешь дальше ковырять - научишься сам с нуля писать всякие галереи и слайдеры, на самом деле это очень занимательно.
Мне, например, очень помог сайт http://net.tutsplus.com/ - тут живые примеры интересных решений на JavaScript и PHP.