【问题标题】:JQuery: How to Redraw Slider?JQuery:如何重绘滑块?
【发布时间】:2011-07-18 10:50:20
【问题描述】:

我非常需要您的帮助,因为我花了太多时间尝试修改 Jquery Slider 插件但没有成功。

我正在使用这个滑块插件:http://blog.egorkhmelev.com/2010/03/jquery-slider-update/

我想要做的是在点击时重新绘制这个 JQuery 滑块。当用户单击时 - 传递具有新比例和指针位置的新设置。重绘仅部分起作用,仅更改一个指针位置和比例。我一定是在代码中遗漏了什么,或者没有足够的 Jquery 知识来解决这个问题。

请注意:此插件中尚未实现重绘,这是我正在尝试添加的新功能。

很多人在官方网站上问过同样的问题,但似乎不再支持了。所以,如果你能帮我找到一个错误 - 我保证会再次在网络上分享这个解决方案。

非常感谢! 开尔文

【问题讨论】:

  • 这是一个非常简洁的滑块。我想我会在我目前正在进行的项目中使用它。

标签: jquery plugins slider redraw recreate


【解决方案1】:

试试这个代码:

/* -------- 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.initself.o

这里的例子:

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

【讨论】:

  • self 一个内置关键字,例如this?还是引用滑块的本地设置变量?
  • 本地设置:var self = $.slider(this, action);
  • @Nick self 是一个局部变量:var self = this;
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-29
  • 1970-01-01
  • 1970-01-01
  • 2012-04-19
  • 1970-01-01
  • 2013-02-25
相关资源
最近更新 更多