var funDrag = function(element, callback) { callback = callback || function() {}; 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]; }; //拖拽的实现 if(getCss(element, "left") !== "auto"){ params.left = getCss(element, "left"); } if(getCss(element, "top") !== "auto"){ params.top = getCss(element, "top"); } //o是移动对象 element.onmousedown = function(event){ params.flag = true; event = event || window.event; params.currentX = event.clientX; params.currentY = event.clientY; }; document.onmouseup = function(){ params.flag = false; if(getCss(element, "left") !== "auto"){ params.left = getCss(element, "left"); } if(getCss(element, "top") !== "auto"){ params.top = getCss(element, "top"); } callback(); }; document.onmousemove = function(event){ event = event || window.event; if(params.flag){ var nowX = event.clientX, nowY = event.clientY; var disX = nowX - params.currentX, disY = nowY - params.currentY; element.style.left = parseInt(params.left) + disX + "px"; element.style.top = parseInt(params.top) + disY + "px"; } } };
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/78213.html
摘要:前面几篇文章,我跟大家分享了的一些基础知识,这篇文章,将会进入第一个实战环节利用前面几章的所涉及到的知识,封装一个拖拽对象。不封装对象直接实现利用原生封装拖拽对象通过扩展来实现拖拽对象。 showImg(https://segmentfault.com/img/remote/1460000008699587); 前面几篇文章,我跟大家分享了JavaScript的一些基础知识,这篇文章,...
摘要:说明你可能发现有很多网站他们的登录窗口或者说是登录框是可以拖动的更有甚者他们的站点提示框都可以拖动你也许可能会对这个功能的实现感兴趣那么这篇文章可能会对你有所帮助具体的网站示例以网易云音乐站点为例,具体效果如下图所示实现登录窗口的拖拽原理解 说明 你可能发现有很多网站他们的登录窗口或者说是登录框是可以拖动的, 更有甚者他们的站点提示框都可以拖动, 你也许可能会对这个功能的实现感兴趣, ...
摘要:原生实现对元素的拖拽一背景介绍此处为铺垫内容,可跳过随着前端的不断发展,各种各样的前端规范和新知识新技术层出不穷,极大地拓展了开发者的操作空间,也大大地提升了用户体验。 原生 JS 实现对 html 元素的拖拽 一、背景介绍 【此处为铺垫内容,可跳过】 随着 Web 前端的不断发展,各种各样的前端规范和新知识、新技术层出不穷,极大地拓展了开发者的操作空间,也大大地提升了用户体验。而随着...
摘要:原生实现对元素的拖拽一背景介绍此处为铺垫内容,可跳过随着前端的不断发展,各种各样的前端规范和新知识新技术层出不穷,极大地拓展了开发者的操作空间,也大大地提升了用户体验。 原生 JS 实现对 html 元素的拖拽 一、背景介绍 【此处为铺垫内容,可跳过】 随着 Web 前端的不断发展,各种各样的前端规范和新知识、新技术层出不穷,极大地拓展了开发者的操作空间,也大大地提升了用户体验。而随着...
阅读 613·2021-11-24 09:39
阅读 3458·2019-08-30 15:53
阅读 2484·2019-08-30 15:44
阅读 3221·2019-08-30 12:54
阅读 2192·2019-08-29 12:23
阅读 3282·2019-08-26 14:05
阅读 2078·2019-08-26 13:36
阅读 3401·2019-08-26 13:33