Установка стартовой позиции на jcarousel в лайтбокс - PullRequest
0 голосов
/ 09 октября 2019

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

Следующий код инициализирует jcarousel и открываетлайтбокс, но я не могу понять, как установить начальную позицию. Я посмотрел документацию и там говорится, что нужно использовать событие createend и метод прокрутки, но он не работает. Может ли кто-нибудь указать мне правильное направление? Я использую jcarousel v0.3.0, но я также пробовал последнюю версию 0.3.9.

function ImageSlideshowLightbox(sender, type) {
        var imgId = $(sender).attr('id');
        var index = imgId.split('-')[2];

        $("#imageSlideshowCountCurrent").html(parseInt(index) + 1);

        $.colorbox({
            inline: true,
            href: "#imageSlideshow",
            open: true,
            closeButton: false,
            width: '95%',
            scrolling: false,
            top: 25,
            onComplete: function () {
                $(this).colorbox.resize();
            }
        });

        $(window).resize(function () {
            $.colorbox.resize({
                width: '95%'
            });
        });

        $('#imageSlideshowNavigation .jcarousel').on('jcarousel:reload jcarousel:create', function () {
            var carousel = $(this);
            var width = $(window).width() * .95;

            carousel.jcarousel('items').css('width', width + 'px');

        }).jcarousel({ vertical: false, animation: 'fast', start: 2 }); //Start is no longer an option in the latest version 0.3.9

        $('#imageSlideshowNavigation .jcarousel').on('jcarousel:createend', function () {
            var carousel = $(this);
            carousel.jcarousel('scroll', 2, false); //hard coded but not working
        })
        .jcarousel();

        $('#imageSlideshowNavigation .jcarousel-control-prev')
                .jcarouselControl({
                    target: '-=1'
                });

        $('#imageSlideshowNavigation .jcarousel-control-next')
            .jcarouselControl({
                target: '+=1'
            });
    }
...