Повторная инициализация JQuery jScrollPane - PullRequest
3 голосов
/ 22 января 2011

Я использую плагин JQuery jScrollPane

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

$(document).ready(function() {
     var api = $('.viewer').jScrollPane().data('jsp');
     api.reinitialise({
         showArrows: true
     }); 
});

Вот мой тестовый пример

http://www.jsfiddle.net/VxYdJ/

Спасибо

Ответы [ 2 ]

5 голосов
/ 19 декабря 2011

У меня были такие же проблемы с повторной инициализацией jsp.я мог бы решить это с помощью этого обходного пути.

уничтожить ...

$("#some > img").click(function() {
    var container = $('.scroll-pane-arrows');
    var api = container.data('jsp');
        api.destroy();

   … calculate width or similar

... и создать его позже:

$('.scroll-pane-arrows').jScrollPane({
    showArrows: true,
    arrowScrollOnHover: true,
    arrowButtonSpeed: 5,
    autoReinitialise: true
});
2 голосов
/ 22 января 2011

Похоже, это известная проблема с jScrollPane.Вы можете изменить исходный код, как это описано одним комментатором в приведенной выше ссылке:

reinitialise: function(s)
{
    s = $.extend({}, settings, s);
    initialise(s);
},

Это, похоже, решает проблему: http://www.jsfiddle.net/pNvky/ (тонна исходного кода - всего лишь модифицированный плагин)

...