首页 / JAVASCRIPT / 原生js实现可拖拽效果
原生js实现可拖拽效果
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了原生js实现可拖拽效果,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2184字,纯文字阅读大概需要4分钟。
内容图文
![原生js实现可拖拽效果](/upload/InfoBanner/zyjiaocheng/346/76fdf0efe79e4a0d9345e594564ecd65.jpg)
效果图:
代码如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>可拖拽特效</title> <style type="text/css"> *{margin: 0;padding: 0;} .header{width:100%;height:30px;background:#036663;line-height:30px;color:#fff;text-indent:30px;} #demo{width:400px;height:300px;border:solid 5px #eee;box-shadow:0 0 5px #666;position:absolute;top:40%;left:40%;} #innerht{height:25px;background:#036663;border-bottom:solid 1px #369;color:#fff;text-indent:10px;cursor:move;} #close{float:right;cursor:pointer;} </style> </head> <body> <div class="header">注册信息</div> <div id="demo"> <div id="innerht">注册信息(可拖拽)<span id="close">【关闭】</span></div> <div class="write"></div> </div> </body> <script type="text/javascript"> (function(window){ function $(id){ return document.getElementById(id); }; // 获取对象 var innerht = $("innerht"),demo = $("demo"),close = $("close"); // 给innerht绑定鼠标事件 innerht.onmousedown = function(event){ // 解决event兼容问题 var event = event || window.event; // 获取鼠标在页面上坐标 var pageX = event.pageX || event.clientX + document.documentElement.scrollLeft; var pageY = event.pageY || event.clientY + document.documentElement.scrollTop; // 获取鼠标在innerht内部的坐标 var innerX = pageX - demo.offsetLeft; var innerY = pageY - demo.offsetTop; // 给document绑定鼠标移动事件,防止鼠标快速滑动时滑出innerht document.onmousemove = function(event){ var event = event || window.event; // 获取鼠标移动时的坐标 var moveX = event.pageX || event.clientX + document.documentElement.scrollLeft; var moveY = event.pageY || event.clientY + document.documentElement.scrollTop; // 鼠标移动时demo的位置坐标 var demoX = moveX - innerX ; var demoY = moveY - innerY ; // 鼠标移动时demo的位置坐标 demo.style.left = demoX + "px"; demo.style.top = demoY + "px"; //清除选中文字 window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty(); } }; // 鼠标抬起清除拖拽效果 document.onmouseup = function(){ document.onmousemove = null ; }; // 点击关闭按钮关闭跟随框 close.onclick = function(){ this.parentNode.parentNode.style.display = "none"; }; })(window) </script> </html>
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!
内容总结
以上是互联网集市为您收集整理的原生js实现可拖拽效果全部内容,希望文章能够帮你解决原生js实现可拖拽效果所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。