Задать вопрос
Ghost_Bear
@Ghost_Bear

Как исправить ошибку в слайдере bxslider?

Есть сайт
Спускаемся до блока "Эти квартиры мы уже отремонтировали"
2e918e77b751402db6d888ee381e283c.png
При нажатии на картинку или на кнопку "Смета проекта" всплывает модальное окно, в котором и находится проблемный слайдер. Изображение на слайдере и первая миниатюра не соответствуют. Отображается изображение последней миниатюры. Но когда начинаешь листать, все в порядке.
09e09e66cdbf493eb761e892c70e8cf7.png
Помогите, пожалуйста, разобраться.
//Создаю слайдер
        $('.tips_slider').each(function(){
            id = $(this).data("idfolio");

            $('#folio-slider_' + id).bxSlider({
                pagerCustom: '#folio-slider-pager_' + id,
                onSlideNext: function(){
                    katiaslider($(this), 'next');
                },
                onSlidePrev: function(){
                    katiaslider($(this), 'prev');
                }
            });
        });
        
        //Функции расширяющие возможности слайдера
        function repeatHtml(id, index)
        {
            //alert($(('.title_' + id + '_' + index)).html());
            $('#tips_' + id + ' .tips_title h3').html($(('.title_' + id + '_' + index)).html());
            $("#price_table_" + id).html($(('.list_' + id + '_' + index)).html());
        }
        
        function katiaslider(th, np)
        {   
            pgr = th.attr('pagerCustom');
            id = $(pgr).data('id');
            childs = $(pgr).children('a');

            max = childs.size();

            $.makeArray(childs).forEach(function (item, i) {
                if (childs.eq(i).attr('class') == 'active')
                {
                    if (np == 'next')
                    {
                        index = (childs.eq(i).data('slide-index') + 1);
                        if (index > max-1) index = 0;
                            repeatHtml(id, Number(index)+1);
                    }

                    if (np == 'prev')
                    {
                        index = (childs.eq(i).data('slide-index') - 1);
                        if (index<0) index = max-1;
                           repeatHtml(id, Number(index)+1);
                    }
                }
            });
        }
        
        $('.folio-slider-pager a').click(function(){
            repeatHtml($(this).data('id'), Number($(this).data('slide-index'))+1);
        });

        //Создаю модальные окна
        $( ".folioModal" ).click(function() {
            target = $(this).data('target');
            mwidth = $(this).data('mwidth');
            if (!mwidth) mwidth=950;


            $('#' + target).dialog({
                autoOpen: false,
                closeOnEscape: true,
                closeOnClick: true,
                dialogClass: "folioModal",
                width: mwidth,
                height: 'auto',
                modal: true
            });

            $('#' + target).dialog( "open" );

            return false;
        });

        //Принудительно закрывать на перекрывающий слой
        $(document).on('click', '.ui-widget-overlay', function(){
            $(".ui-dialog-titlebar-close").trigger('click');
        });
  • Вопрос задан
  • 418 просмотров
Подписаться 1 Оценить 6 комментариев
Пригласить эксперта
Ответы на вопрос 1
link_web
@link_web
Magento, Laravel, Zend, Shopify, Prestashop, WP
Установите в параметрах startSlide на нужны при инициализации
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы