/* KNOB */ function init_knob() { if( typeof ($.fn.knob) === 'undefined'){ return; } console.log('init_knob'); $(".knob").knob({ change: function(value) { //console.log("change : " + value); }, release: function(value) { //console.log(this.$.attr('value')); console.log("release : " + value); }, cancel: function() { console.log("cancel : ", this); }, /*format : function (value) { return value + '%'; },*/ draw: function() { // "tron" case if (this.$.data('skin') == 'tron') { this.cursorExt = 0.3; var a = this.arc(this.cv) // Arc , pa // Previous arc , r = 1; this.g.lineWidth = this.lineWidth; if (this.o.displayPrevious) { pa = this.arc(this.v); this.g.beginPath(); this.g.strokeStyle = this.pColor; this.g.arc(this.xy, this.xy, this.radius - this.lineWidth, pa.s, pa.e, pa.d); this.g.stroke(); } this.g.beginPath(); this.g.strokeStyle = r ? this.o.fgColor : this.fgColor; this.g.arc(this.xy, this.xy, this.radius - this.lineWidth, a.s, a.e, a.d); this.g.stroke(); this.g.lineWidth = 2; this.g.beginPath(); this.g.strokeStyle = this.o.fgColor; this.g.arc(this.xy, this.xy, this.radius - this.lineWidth + 1 + this.lineWidth * 2 / 3, 0, 2 * Math.PI, false); this.g.stroke(); return false; } } }); // Example of infinite knob, iPod click wheel var v, up = 0, down = 0, i = 0, $idir = $("div.idir"), $ival = $("div.ival"), incr = function() { i++; $idir.show().html("+").fadeOut(); $ival.html(i); }, decr = function() { i--; $idir.show().html("-").fadeOut(); $ival.html(i); }; $("input.infinite").knob({ min: 0, max: 20, stopper: false, change: function() { if (v > this.cv) { if (up) { decr(); up = 0; } else { up = 1; down = 0; } } else { if (v < this.cv) { if (down) { incr(); down = 0; } else { down = 1; up = 0; } } } v = this.cv; } }); }; $(document).ready(function() { init_knob(); });