-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathSlider.js
2 lines (2 loc) · 803 Bytes
/
Slider.js
1
2
function Slider(b,k,f,m,q,g,v,l){function n(){h.css("left",c<f?-d/2>>0:c>m?g-d/2>>0:Math.pow((c-f)/(m-f),l)*g-d/2>>0)}function r(a){a.preventDefault();e=a.clientX-s+t>>0;e<-d/2?e=-d/2:e>g-d/2&&(e=g-d/2);h.css("left",e);c=Math.pow((e+d/2)/g,1/l)*(m-f)+f;a=v?c>>0:c;q(a);b&&b.val(a)}function u(){$("body").removeClass("nosel");$(p).off("mousemove",r).off("mouseup",u)}var p=document;k=$(k);b&&(b=$(b));l||(l=1);var d=17,h=$("<div/>",{"class":"mark",width:d}),c=f,s,t,e;k.addClass("slider").width(g).append(h);
this.set=function(a){c=a;b&&b.val(a);n()};this.setBG=function(a){k.css("background",a)};b&&(c=b.val(),b.change(function(){c=b.val();n();q(c)}));h.mousedown(function(a){a.preventDefault();t=parseInt(h.css("left"));s=a.clientX;$("body").addClass("nosel");$(p).mousemove(r);$(p).mouseup(u)});n()};