⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 slider.js

📁 初学者
💻 JS
📖 第 1 页 / 共 2 页
字号:
		this._clipRight = x + this._clipXdelta;	}	this.progressBackgroundNode.style.clip = "rect(" + this._clipTop + "px," + this._clipRight + "px," + this._clipBottom + "px," + this._clipLeft + "px)";}, _calc_valueSizeX:function () {	var constrainingCtrBox = dojo.html.getContentBox(this.constrainingContainerNode);	var sliderHandleBox = dojo.html.getContentBox(this.sliderHandleNode);	if (isNaN(constrainingCtrBox.width) || isNaN(sliderHandleBox.width) || constrainingCtrBox.width <= 0 || sliderHandleBox.width <= 0) {		return false;	}	this._constraintWidth = constrainingCtrBox.width + dojo.html.getPadding(this.constrainingContainerNode).width - sliderHandleBox.width;	if (this.flipX) {		this._clipLeft = this._clipRight = constrainingCtrBox.width;	} else {		this._clipLeft = this._clipRight = 0;	}	this._clipXdelta = sliderHandleBox.width >> 1;	if (!this.isEnableY) {		this._clipTop = 0;		this._clipBottom = constrainingCtrBox.height;	}	if (this._constraintWidth <= 0) {		return false;	}	if (this.snapValuesX == 0) {		this.snapValuesX = this._constraintWidth + 1;	}	this._valueSizeX = this._constraintWidth / (this.snapValuesX - 1);	return true;}, setValueX:function (value) {	if (0 == this._valueSizeX) {		if (this._calc_valueSizeX() == false) {			dojo.lang.setTimeout(this, "setValueX", 100, value);			return;		}	}	if (isNaN(value)) {		value = 0;	}	if (value > this.maximumX) {		value = this.maximumX;	} else {		if (value < this.minimumX) {			value = this.minimumX;		}	}	var pixelPercent = (value - this.minimumX) / (this.maximumX - this.minimumX);	if (this.flipX) {		pixelPercent = 1 - pixelPercent;	}	this._snapX(pixelPercent * this._constraintWidth);	this.notifyListeners();}, getValueX:function () {	var pixelPercent = dojo.html.getPixelValue(this.sliderHandleNode, "left") / this._constraintWidth;	if (this.flipX) {		pixelPercent = 1 - pixelPercent;	}	return Math.round(pixelPercent * (this.snapValuesX - 1)) * ((this.maximumX - this.minimumX) / (this.snapValuesX - 1)) + this.minimumX;}, _snapY:function (y) {	if (y < 0) {		y = 0;	} else {		if (y > this._constraintHeight) {			y = this._constraintHeight;		} else {			var selectedValue = Math.round(y / this._valueSizeY);			y = Math.round(selectedValue * this._valueSizeY);		}	}	this.sliderHandleNode.style.top = y + "px";	if (this.flipY) {		this._clipTop = y + this._clipYdelta;	} else {		this._clipBottom = y + this._clipYdelta;	}	this.progressBackgroundNode.style.clip = "rect(" + this._clipTop + "px," + this._clipRight + "px," + this._clipBottom + "px," + this._clipLeft + "px)";}, _calc_valueSizeY:function () {	var constrainingCtrBox = dojo.html.getContentBox(this.constrainingContainerNode);	var sliderHandleBox = dojo.html.getContentBox(this.sliderHandleNode);	if (isNaN(constrainingCtrBox.height) || isNaN(sliderHandleBox.height) || constrainingCtrBox.height <= 0 || sliderHandleBox.height <= 0) {		return false;	}	this._constraintHeight = constrainingCtrBox.height + dojo.html.getPadding(this.constrainingContainerNode).height - sliderHandleBox.height;	if (this.flipY) {		this._clipTop = this._clipBottom = constrainingCtrBox.height;	} else {		this._clipTop = this._clipBottom = 0;	}	this._clipYdelta = sliderHandleBox.height >> 1;	if (!this.isEnableX) {		this._clipLeft = 0;		this._clipRight = constrainingCtrBox.width;	}	if (this._constraintHeight <= 0) {		return false;	}	if (this.snapValuesY == 0) {		this.snapValuesY = this._constraintHeight + 1;	}	this._valueSizeY = this._constraintHeight / (this.snapValuesY - 1);	return true;}, setValueY:function (value) {	if (0 == this._valueSizeY) {		if (this._calc_valueSizeY() == false) {			dojo.lang.setTimeout(this, "setValueY", 100, value);			return;		}	}	if (isNaN(value)) {		value = 0;	}	if (value > this.maximumY) {		value = this.maximumY;	} else {		if (value < this.minimumY) {			value = this.minimumY;		}	}	var pixelPercent = (value - this.minimumY) / (this.maximumY - this.minimumY);	if (this.flipY) {		pixelPercent = 1 - pixelPercent;	}	this._snapY(pixelPercent * this._constraintHeight);	this.notifyListeners();}, getValueY:function () {	var pixelPercent = dojo.html.getPixelValue(this.sliderHandleNode, "top") / this._constraintHeight;	if (this.flipY) {		pixelPercent = 1 - pixelPercent;	}	return Math.round(pixelPercent * (this.snapValuesY - 1)) * ((this.maximumY - this.minimumY) / (this.snapValuesY - 1)) + this.minimumY;}, _onClick:function (evt) {	if (this._isDragInProgress) {		return;	}	var parent = dojo.html.getAbsolutePosition(this.constrainingContainerNode, true, dojo.html.boxSizing.MARGIN_BOX);	var content = dojo.html.getContentBox(this._handleMove.domNode);	if (this.isEnableX) {		var x = evt.pageX - parent.x - (content.width >> 1);		this._snapX(x);	}	if (this.isEnableY) {		var y = evt.pageY - parent.y - (content.height >> 1);		this._snapY(y);	}	this.notifyListeners();}, notifyListeners:function () {	this.onValueChanged(this.getValueX(), this.getValueY());}, onValueChanged:function (x, y) {}});dojo.widget.defineWidget("dojo.widget.SliderHorizontal", dojo.widget.Slider, {isEnableX:true, isEnableY:false, initialValue:"", snapValues:"", minimum:"", maximum:"", buttonStyle:"", backgroundSize:"height:10px;width:200px;", backgroundSrc:dojo.uri.moduleUri("dojo.widget", "templates/images/slider-bg.gif"), flip:false, postMixInProperties:function () {	dojo.widget.SliderHorizontal.superclass.postMixInProperties.apply(this, arguments);	if (!isNaN(parseFloat(this.initialValue))) {		this.initialValueX = parseFloat(this.initialValue);	}	if (!isNaN(parseFloat(this.minimum))) {		this.minimumX = parseFloat(this.minimum);	}	if (!isNaN(parseFloat(this.maximum))) {		this.maximumX = parseFloat(this.maximum);	}	if (!isNaN(parseInt(this.snapValues))) {		this.snapValuesX = parseInt(this.snapValues);	}	if (dojo.lang.isString(this.buttonStyle) && this.buttonStyle != "") {		this.buttonStyleX = this.buttonStyle;	}	if (dojo.lang.isBoolean(this.flip)) {		this.flipX = this.flip;	}}, notifyListeners:function () {	this.onValueChanged(this.getValueX());}, getValue:function () {	return this.getValueX();}, setValue:function (value) {	this.setValueX(value);}, onValueChanged:function (value) {}});dojo.widget.defineWidget("dojo.widget.SliderVertical", dojo.widget.Slider, {isEnableX:false, isEnableY:true, initialValue:"", snapValues:"", minimum:"", maximum:"", buttonStyle:"", backgroundSize:"width:10px;height:200px;", backgroundSrc:dojo.uri.moduleUri("dojo.widget", "templates/images/slider-bg-vert.gif"), flip:false, postMixInProperties:function () {	dojo.widget.SliderVertical.superclass.postMixInProperties.apply(this, arguments);	if (!isNaN(parseFloat(this.initialValue))) {		this.initialValueY = parseFloat(this.initialValue);	}	if (!isNaN(parseFloat(this.minimum))) {		this.minimumY = parseFloat(this.minimum);	}	if (!isNaN(parseFloat(this.maximum))) {		this.maximumY = parseFloat(this.maximum);	}	if (!isNaN(parseInt(this.snapValues))) {		this.snapValuesY = parseInt(this.snapValues);	}	if (dojo.lang.isString(this.buttonStyle) && this.buttonStyle != "") {		this.buttonStyleY = this.buttonStyle;	}	if (dojo.lang.isBoolean(this.flip)) {		this.flipY = this.flip;	}}, notifyListeners:function () {	this.onValueChanged(this.getValueY());}, getValue:function () {	return this.getValueY();}, setValue:function (value) {	this.setValueY(value);}, onValueChanged:function (value) {}});dojo.declare("dojo.widget._SliderDragMoveSource", dojo.dnd.HtmlDragMoveSource, {slider:null, onDragStart:function (evt) {	this.slider._isDragInProgress = true;	var dragObj = this.createDragMoveObject();	this.slider.notifyListeners();	return dragObj;}, onDragEnd:function (evt) {	this.slider._isDragInProgress = false;	this.slider.notifyListeners();}, createDragMoveObject:function () {	var dragObj = new dojo.widget._SliderDragMoveObject(this.dragObject, this.type);	dragObj.slider = this.slider;	if (this.dragClass) {		dragObj.dragClass = this.dragClass;	}	return dragObj;}, setParent:function (slider) {	this.slider = slider;}});dojo.declare("dojo.widget._SliderDragMoveObject", dojo.dnd.HtmlDragMoveObject, {slider:null, onDragMove:function (evt) {	this.updateDragOffset();	if (this.slider.isEnableX) {		var x = this.dragOffset.x + evt.pageX;		this.slider._snapX(x);	}	if (this.slider.isEnableY) {		var y = this.dragOffset.y + evt.pageY;		this.slider._snapY(y);	}	if (this.slider.activeDrag) {		this.slider.notifyListeners();	}}});

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -