jQuery Tools Scroller с автопрокруткой и jQuery Colorbox - PullRequest
1 голос
/ 15 октября 2010

Я реализовал простую прокручиваемую фотогалерею с помощью jQuery Tools.
Затем я добавил режим автоматической прокрутки к скроллеру инструментов jQuery, чтобы создать слайд-шоу с фотографиями.
Затем я прикрепил цветовую коробку jQuery к фотографии.слайд-шоу, чтобы предоставить увеличенную версию изображений.

Я сталкиваюсь со следующими проблемами.Я надеюсь, что смогу объяснить их наилучшим образом, так как поведение иногда непредсказуемо.

Основная проблема заключается в том, что, когда я останавливаю слайд-шоу и нажимаю на изображение, чтобы вызвать цветовую коробку или кнопки «следующий / предыдущий», слайд-шоу начинается снова.Есть ли способ отключить это поведение ??

Другая проблема заключается в том, что когда я нажимаю на цветовую коробку, это выглядит как 9 изображений вместо 7. Вы можете увидеть это, нажав на фотографию и увидев индексэтот цветной ящик создается в правом верхнем углу увеличенной версии фотографии.
Почему это происходит?Я не могу найти объяснение.

Наконец, самая раздражающая часть всего, что произошло дважды, и я не могу воспроизвести это то, что инструменты jQuery прокручиваются в какой-то момент, когда вы открываете и закрываете colorbox, он портит индексы и прокручивает дополнительный шаг, приводящий к пустому-существующая фотография .. это также портит отображение номера текущей фотографии, которая находится внизу слева - навигация.

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

Javascript код:

$("#gallery").scrollable({circular:true}).autoscroll({autoplay:true});
var api = $("#gallery").data("scrollable");
var indd = api.getIndex();

api.onSeek(function() {
    $("#cur-p").html(parseInt(api.getIndex()+1));
    $("#tot-p").html(api.getSize());
});

$("#slid").toggle(function() {
        api.stop();
        $(this).html("SLIDESHOW ON");
        return false;
    }, function() {
        api.play();
        $(this).html("SLIDESHOW OFF");
        return false;
    }

);

$("#cur-p").html(parseInt(api.getIndex()+1));
$("#tot-p").html(api.getSize());

$("a[rel=color-box]").colorbox();

* ОБНОВЛЕНИЕ * До сих пор мне удалось выяснить одно из странныхповедения.
Colorbox показывает больше всего изображений, чем есть.Это потому, что он вызывается после плагина автопрокрутки.Автопрокрутка создает 2 дополнительных деления один перед началом и один после конца, когда свойство циклического включения включено.Таким образом, colorbox находит их и добавляет их в уравнение.

Если я вообще не вызываю автопрокрутку, colorbox работает нормально.
Таким образом, решением было бы вызвать colorbox следующим образом:

$("#gallery").scrollable().find("a[rel=color-box]").colorbox();

и когда colorbox завершит загрузку, примените плагин автопрокрутки к галерее.Однако я не уверен, как применить автопрокрутку к уже созданному экземпляру с возможностью прокрутки.

...