настраиваемая галерея jquery - PullRequest
1 голос
/ 16 декабря 2010

Я создаю шаблон. Вся работа в формате xhtml / css выполнена, кроме галереи изображений jquery. Вокруг слишком много галерей jquery, и я не знаю, как их настроить в соответствии с ситуацией

Это шаблон из трех столбцов. Первый столбец имеет навигацию. во втором столбце будет выбрано изображение из эскизов 3-го столбца. Также в 3-м столбце есть кнопки вверх / вниз, которые вращают миниатюры. При нажатии на изображение-миниатюру должно загрузиться изображение Div второго столбца.

Должен ли я предоставить больше информации?

alt text

Ответы [ 2 ]

4 голосов
/ 16 декабря 2010

Поскольку вы на самом деле не задавали вопрос, я предполагаю, что вы спрашиваете, с чего начать.Вы также не указали свою HTML-структуру, поэтому мне придется предположить, что это тоже.

HTML-структура

<div id="gallery">
    <img id="main_image" />
    <div>
        <img src="image1-thumbnail.jpg" />
        <img src="image2-thumbnail.jpg" />
        <img src="image3-thumbnail.jpg" />
        <img src="image4-thumbnail.jpg" />
    </div>
</div>

Начните с создания плагина jQuery:

(function ($) {
    $.fn.gallery = function () {

    };
})(jQuery)

Это гарантирует, что ваш код будет полностью пригоден для повторного использования и не вызовет конфликтов имен, если вы захотите использовать его с другим фреймворком в будущем.Затем вы хотите добавить событие щелчка к каждой миниатюре, чтобы изменить SRC основного изображения:

(function ($) {
    $.fn.gallery = function () {
        this.find($(this).attr('id') + '>div>img').click(function () {
            $(this).siblings('img').removeClass('selected');
            $(this).addClass('selected');
            var mainImageSrc = $(this).attr('src').replace('-thumbnail','');
            $(this).parent().siblings('img').attr('src',mainImageSrc);
        });
        return this; // jQuery plugins should (nearly) always return this to make them chainable
    };
})(jQuery);

Наконец, вызовите вашу функцию:

jQuery(function ($) {
    $('#gallery').gallery();
});

Этот код должен предоставитьбазовый функционал.Я оставлю вас работать над тем, чтобы сделать миниатюры прокручиваемыми, и, если вы действительно чувствуете это, создайте эффект плавного перехода между изображениями (подсказка: вам нужно два тега img, с CSS, чтобы положить их друг на друга, затем .animate() непрозрачность исчезает между ними).Надеюсь, это поможет вам.

0 голосов
/ 04 марта 2014

Galleriffic - ваше решение

http://www.twospy.com/galleriffic/index.html

Очень настраиваемый и простой в интеграции.

...