📄 rangeslider.js
字号:
/* Copyright (c) 2004-2008, The Dojo Foundation All Rights Reserved. Available via Academic Free License >= 2.1 OR the modified BSD license. see: http://dojotoolkit.org/license for details*/if(!dojo._hasResource["dojox.form.RangeSlider"]){dojo._hasResource["dojox.form.RangeSlider"]=true;dojo.provide("dojox.form.RangeSlider");dojo.require("dijit.form.Slider");dojo.require("dojox.fx");dojo.declare("dojox.form._RangeSliderMixin",null,{value:[0,100],postCreate:function(){this.inherited(arguments);if(this._isReversed()){this.value.sort(function(a,b){return b-a;});}else{this.value.sort(function(a,b){return a-b;});}var _5=this;var _6=function(){dijit.form._SliderMoverMax.apply(this,arguments);this.widget=_5;};dojo.extend(_6,dijit.form._SliderMoverMax.prototype);this._movableMax=new dojo.dnd.Moveable(this.sliderHandleMax,{mover:_6});dijit.setWaiState(this.focusNodeMax,"valuemin",this.minimum);dijit.setWaiState(this.focusNodeMax,"valuemax",this.maximum);var _7=function(){dijit.form._SliderBarMover.apply(this,arguments);this.widget=_5;};dojo.extend(_7,dijit.form._SliderBarMover.prototype);this._movableBar=new dojo.dnd.Moveable(this.progressBar,{mover:_7});},destroy:function(){this.inherited(arguments);this._movableMax.destroy();this._movableBar.destroy();},_onKeyPress:function(e){if(this.disabled||this.readOnly||e.altKey||e.ctrlKey){return;}var _9=e.currentTarget;var _a=false;var _b=false;var _c;if(_9==this.sliderHandle){_a=true;}else{if(_9==this.progressBar){_b=true;_a=true;}else{if(_9==this.sliderHandleMax){_b=true;}}}switch(e.keyCode){case dojo.keys.HOME:this._setValueAttr(this.minimum,true,_b);break;case dojo.keys.END:this._setValueAttr(this.maximum,true,_b);break;case ((this._descending||this.isLeftToRight())?dojo.keys.RIGHT_ARROW:dojo.keys.LEFT_ARROW):case (this._descending===false?dojo.keys.DOWN_ARROW:dojo.keys.UP_ARROW):case (this._descending===false?dojo.keys.PAGE_DOWN:dojo.keys.PAGE_UP):if(_a&&_b){_c=Array();_c[0]={"change":e.keyCode==dojo.keys.PAGE_UP?this.pageIncrement:1,"useMaxValue":true};_c[1]={"change":e.keyCode==dojo.keys.PAGE_UP?this.pageIncrement:1,"useMaxValue":false};this._bumpValue(_c);}else{if(_a){this._bumpValue(e.keyCode==dojo.keys.PAGE_UP?this.pageIncrement:1,true);}else{if(_b){this._bumpValue(e.keyCode==dojo.keys.PAGE_UP?this.pageIncrement:1);}}}break;case ((this._descending||this.isLeftToRight())?dojo.keys.LEFT_ARROW:dojo.keys.RIGHT_ARROW):case (this._descending===false?dojo.keys.UP_ARROW:dojo.keys.DOWN_ARROW):case (this._descending===false?dojo.keys.PAGE_UP:dojo.keys.PAGE_DOWN):if(_a&&_b){_c=Array();_c[0]={"change":e.keyCode==dojo.keys.PAGE_DOWN?-this.pageIncrement:-1,"useMaxValue":false};_c[1]={"change":e.keyCode==dojo.keys.PAGE_DOWN?-this.pageIncrement:-1,"useMaxValue":true};this._bumpValue(_c);}else{if(_a){this._bumpValue(e.keyCode==dojo.keys.PAGE_DOWN?-this.pageIncrement:-1);}else{if(_b){this._bumpValue(e.keyCode==dojo.keys.PAGE_DOWN?-this.pageIncrement:-1,true);}}}break;default:dijit.form._FormValueWidget.prototype._onKeyPress.apply(this,arguments);this.inherited(arguments);return;}dojo.stopEvent(e);},_onHandleClickMax:function(e){if(this.disabled||this.readOnly){return;}if(!dojo.isIE){dijit.focus(this.sliderHandleMax);}dojo.stopEvent(e);},_onClkIncBumper:function(){this._setValueAttr(this._descending===false?this.minimum:this.maximum,true,true);},_bumpValue:function(_e,_f){if(!dojo.isArray(_e)){value=this._getBumpValue(_e,_f);}else{value=Array();value[0]=this._getBumpValue(_e[0]["change"],_e[0]["useMaxValue"]);value[1]=this._getBumpValue(_e[1]["change"],_e[1]["useMaxValue"]);}this._setValueAttr(value,true,!dojo.isArray(_e)&&((_e>0&&!_f)||(_f&&_e<0)));},_getBumpValue:function(_10,_11){var s=dojo.getComputedStyle(this.sliderBarContainer);var c=dojo._getContentBox(this.sliderBarContainer,s);var _14=this.discreteValues;if(_14<=1||_14==Infinity){_14=c[this._pixelCount];}_14--;var _15=!_11?this.value[0]:this.value[1];if((this._isReversed()&&_10<0)||(_10>0&&!this._isReversed())){_15=!_11?this.value[1]:this.value[0];}var _16=(_15-this.minimum)*_14/(this.maximum-this.minimum)+_10;if(_16<0){_16=0;}if(_16>_14){_16=_14;}return _16*(this.maximum-this.minimum)/_14+this.minimum;},_onBarClick:function(e){if(this.disabled||this.readOnly){return;}if(!dojo.isIE){dijit.focus(this.progressBar);}dojo.stopEvent(e);},_onRemainingBarClick:function(e){if(this.disabled||this.readOnly){return;}if(!dojo.isIE){dijit.focus(this.progressBar);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -