js simple drag.
2015-12-31 14:10
609 查看
// by zhangxinxu welcome to visit my personal website http://www.zhangxinxu.com/ // zxx.drag v1.0 2010-03-23 å…ƒç´ çš„æ‹–æ‹½å®žçŽ° var params = { left: 0, top: 0, currentX: 0, currentY: 0, flag: false }; //获å–相关CSS属性 var getCss = function(o,key){ return o.currentStyle? o.currentStyle[key] : document.defaultView.getComputedStyle(o,false)[key]; }; //拖拽的实现 var startDrag = function(bar, target, callback){ if(getCss(target, "left") !== "auto"){ params.left = getCss(target, "left"); } if(getCss(target, "top") !== "auto"){ params.top = getCss(target, "top"); } //o是移动对象 bar.onmousedown = function(event){ params.flag = true; if(!event){ event = window.event; //防æ¢IEæ–‡å—é€‰ä¸ bar.onselectstart = function(){ return false; } } var e = event; params.currentX = e.clientX; params.currentY = e.clientY; }; document.onmouseup = function(){ params.flag = false; if(getCss(target, "left") !== "auto"){ params.left = getCss(target, "left"); } if(getCss(target, "top") !== "auto"){ params.top = getCss(target, "top"); } }; document.onmousemove = function(event){ var e = event ? event: window.event; if(params.flag){ var nowX = e.clientX, nowY = e.clientY; var disX = nowX - params.currentX, disY = nowY - params.currentY; target.style.left = parseInt(params.left) + disX + "px"; target.style.top = parseInt(params.top) + disY + "px"; } if (typeof callback == "function") { callback(parseInt(params.left) + disX, parseInt(params.top) + disY); } } };
相关文章推荐
- jsp带参转链接
- 纯js 连连看,多套图片连连看
- Extjs5新特性
- HTML --- <a href=”#”>与 <a href=”javascript:void(0)” 的区别
- 在js中对日期的加减法
- JS的数组
- 组织结构图 js实现
- Javascript 严格模式use strict详解
- (译)详解javascript立即执行函数表达式(IIFE)
- 关于js中的return的用法
- Cordova提供了一组设备相关的API,通过这组API,移动应用能够以JavaScript访问原生的设备功能,如摄像头、麦克风等。
- Cordova提供了一组设备相关的API,通过这组API,移动应用能够以JavaScript访问原生的设备功能,如摄像头、麦克风等。
- 轻量级桌面应用开发的捷径——nw.js
- Backbone.js 为复杂Javascript应用程序提供模型(models)、集合(collections)、视图(views)的结构
- Backbone.js 为复杂Javascript应用程序提供模型(models)、集合(collections)、视图(views)的结构
- three.js是JavaScript编写的WebGL第 三方库
- three.js是JavaScript编写的WebGL第 三方库
- js跳转页面方法实现汇总
- JNI - 如何将 char 转换成 jstring
- js 倒计时 时间戳