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

📄 dragsort.js

📁 动易SiteFactory网上商店系统正式版动易SiteFactory网上商店系统正式版
💻 JS
字号:
/* Copyright (c) 2005 Tim Taylor Consulting (see LICENSE.txt) */ToolMan._dragsortFactory = {	makeSortable : function(item) {		var group = ToolMan.drag().createSimpleGroup(item)		group.register('dragstart', this._onDragStart)		group.register('dragmove', this._onDragMove)		group.register('dragend', this._onDragEnd)		return group	},	/** 	 * Iterates over a list's items, making them sortable, applying	 * optional functions to each item.	 *	 * example: makeListSortable(myList, myFunc1, myFunc2, ... , myFuncN)	 */	makeListSortable : function(list) {		var helpers = ToolMan.helpers()		var coordinates = ToolMan.coordinates()		var items = list.getElementsByTagName("li")		helpers.map(items, function(item) {			var dragGroup = dragsort.makeSortable(item)			dragGroup.setThreshold(4)			var min, max			dragGroup.addTransform(function(coordinate, dragEvent) {				return coordinate.constrainTo(min, max)			})			dragGroup.register('dragstart', function() {				var items = list.getElementsByTagName("li")				min = max = coordinates.topLeftOffset(items[0])				for (var i = 1, n = items.length; i < n; i++) {					var offset = coordinates.topLeftOffset(items[i])					min = min.min(offset)					max = max.max(offset)				}			})		})		for (var i = 1, n = arguments.length; i < n; i++)			helpers.map(items, arguments[i])	},	_onDragStart : function(dragEvent) {	},	_onDragMove : function(dragEvent) {		var helpers = ToolMan.helpers()		var coordinates = ToolMan.coordinates()		var item = dragEvent.group.element		var xmouse = dragEvent.transformedMouseOffset		var moveTo = null		var previous = helpers.previousItem(item, item.nodeName)		while (previous != null) {			var bottomRight = coordinates.bottomRightOffset(previous)			if (xmouse.y <= bottomRight.y && xmouse.x <= bottomRight.x) {				moveTo = previous			}			previous = helpers.previousItem(previous, item.nodeName)		}		if (moveTo != null) {			helpers.moveBefore(item, moveTo)			return		}		var next = helpers.nextItem(item, item.nodeName)		while (next != null) {			var topLeft = coordinates.topLeftOffset(next)			if (topLeft.y <= xmouse.y && topLeft.x <= xmouse.x) {				moveTo = next			}			next = helpers.nextItem(next, item.nodeName)		}		if (moveTo != null) {			helpers.moveBefore(item, helpers.nextItem(moveTo, item.nodeName))			return		}	},	_onDragEnd : function(dragEvent) {		ToolMan.coordinates().create(0, 0).reposition(dragEvent.group.element)	}}

⌨️ 快捷键说明

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