Проблема с адаптивным макетом панели jScroll

Надеюсь, кто-то может помочь ...

В настоящее время я использую jScrollpane для обработки настраиваемых полос прокрутки в моем проекте.

Макет адаптивный, и содержимое, заполняющее блоки, создается динамически. Все идет хорошо, за исключением некоторого неуклюжего поведения, когда я меняю размер своего браузера. Я использую autoReintialise, чтобы следить за любыми изменениями высоты и ширины. Опять же - по большей части работает нормально.

Моя проблема в том, что когда я перетаскиваю окно браузера и ширина div расширяется, кажется, что любой div с примененным к нему jScroll очень сильно тормозит. Есть небольшая задержка, а затем он достигает ширины div при изменении размера - это совсем не плавно.

Мой код находится внутри функции внутри файла javascript, который обрабатывает динамический контент. Это в значительной степени прямая копия примера с сайта jScrollpane:

function jscroll_refresh() {

var settings = {
    autoReinitialise: true
};
var pane = $(".scroll-pane");
pane.each(
function()
{
    $(this).jScrollPane(settings);

     var api = pane.data('jsp');
            var throttleTimeout;
            $(window).bind(
                'resize',
                function()
                {
                    if (!throttleTimeout) {
                        throttleTimeout = setTimeout(
                            function()
                            {
                                api.reinitialise();
                                throttleTimeout =null;

                            }
                        );
                    }
                }
            );
    });
}

Кто-нибудь еще сталкивался с этой проблемой? Другие предложения для плагина, такого как jScroll? Спасибо!


person Rob M    schedule 30.04.2014    source источник


Ответы (1)


Нашел!

Это было что-то в css для jScrollpane, а не в javascript.

.scroll-pane{width: 100% !important;height: 93%;overflow: auto;}
.jspContainer{overflow:hidden;position:relative;height:100% !important; width: 100%      !important;}
.jspPane{position:absolute;width: 100%!important;}

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

person Rob M    schedule 01.05.2014