JQuery: как перерисовать слайдер? - PullRequest
1 голос
/ 18 марта 2011

Мне очень нужна ваша помощь, потому что я потратил слишком много времени, пытаясь изменить плагин Jquery Slider, но безуспешно.

Я использую этот плагин слайдера: http://blog.egorkhmelev.com/2010/03/jquery-slider-update/

Я пытаюсь перерисовать этот слайдер JQuery по клику.Когда пользователь нажимает - передаются новые настройки с новым масштабом и позициями указателя.Перерисовка работает только частично, изменяя только одну позицию указателя и масштаб.Я, должно быть, что-то пропустил в коде или у меня недостаточно знаний Jquery для решения этой проблемы.

Обратите внимание: перерисовка еще не реализована в этом плагине, это новая функция, которую я пытаюсь добавить.

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

Спасибо большое!Kelvin

1 Ответ

3 голосов
/ 18 марта 2011

Попробуйте этот код:

/* -------- REDRAW SLIDER CODE -------- */
case "redraw":
    //self.domNode.remove(); // remove slider
    self.domNode.remove(); // remove slider
    if (isDefAndNotNull(args[1])) {
        $.extend(true, self.settings, args[1]);
        self.settings.interval = self.settings.to - self.settings.from; //calculate new interval
        self.settings.value = self.inputNode.attr("value"); // set new pointers position
        self.is = {
            init: false
        };
        self.o = {};
        }

    self.create(); // re-create slider with new settings
    break; 
/* -------- END OF REDRAW SLIDER CODE -------- */

Я только что добавил код, чтобы очистить некоторые внутренние состояния self.is.init и self.o.

Пример здесь:

http://jsfiddle.net/jtbowden/ZEjSv/

...