2011-03-18 33 views
1

我急需你的幫助,因爲我花了太多時間嘗試修改Jquery Slider Plugin而沒有成功。JQuery:如何重繪滑塊?

我使用這個插件滑塊:http://blog.egorkhmelev.com/2010/03/jquery-slider-update/

我所試圖做的是點擊重新繪製這個jQuery滑塊。當用戶點擊時 - 通過新的比例和指針位置的新設置。重繪只能部分工作,只更改一個指針位置和比例。我一定錯過了代碼中的某些東西,或者沒有足夠的Jquery知識來解決這個問題。

請注意:重新繪製尚未在此插件中實現,它是我嘗試添加的一項新功能。

很多人都在官方網站上提出過同樣的問題,但似乎沒有任何支持了。所以如果你能幫我找到一個錯誤 - 我保證再次在網絡上分享這個解決方案。

非常感謝! 開爾文

+0

這是一個非常整潔的滑塊。我想我將在我目前正在進行的一個項目中使用它。 – 2011-03-18 20:56:15

回答

3

試試這個代碼:

/* -------- 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/

+0

是'self'構建關鍵字,如'this'?或者它是引用滑塊的本地設置變量? – 2011-03-18 20:58:29

+0

它在本地設置:'var self = $ .slider(this,action);' – 2011-03-18 22:23:18

+0

@Nick self是一個局部變量:var self = this; – Kelvin 2011-03-18 22:27:07