源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

javascript完美拖拽的实现方法

  • 时间:2020-11-05 12:12 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:javascript完美拖拽的实现方法
HTML代码:
[url=style.css]<script type="text/javascript" src="drag.js"></script> <script type="text/javascript" src="demo.js"></script> </head> <body>     <div id="login">         <h2>网站登录</h2>         <div class="user">             用户名:<input type="text" name="user" class="txt" />         </div>         <div class="pass">             密 码:<input type="password" name="pass" class="txt" />         </div>         <div class="submit">             <input type="submit" value="登录" class="button" />         </div>     </div> </body> </html>
CSS代码: 拖拽核心代码:
[u]复制代码[/u] 代码如下:
function drag(obj) {     if (typeof obj === 'string') {         var obj = document.getElementById(obj);     } else {         var obj = obj;     }     function fixEvent(event) {         event.target = event.srcElement;         event.preventDefault = fixEvent.preventDefault;         return event;     }     fixEvent.preventDefault = function () {         this.returnValue = false;     };     obj.onmousedown = mousedown;     function mousedown(e) {         var e = e || fixEvent(window.event);         var disX = e.clientX - obj.offsetLeft;         var disY = e.clientY - obj.offsetTop;         if (e.target.tagName === 'H2') {             document.onmousemove = move;             document.onmouseup = up;         } else {             document.onmousemove = null;             document.onmouseup = null;                    }         function move(e) {             var e = e || fixEvent(window.event);             var left = e.clientX - disX;             var top = e.clientY - disY;             if (obj.setCapture) {                 obj.setCapture();             }             if (left < 0) {                 left = 0;             } else if (left > document.documentElement.clientWidth - obj.offsetWidth) {                 left = document.documentElement.clientWidth - obj.offsetWidth;             }             if (top < 0) {                 top = 0;             } else if (top > document.documentElement.clientHeight - obj.offsetHeight) {                 top = document.documentElement.clientHeight - obj.offsetHeight;             }             obj.style.left = left + 'px';             obj.style.top = top + 'px';             return false;         };         function up() {             if (obj.releaseCapture) {                 obj.releaseCapture();             }             document.onmousemove = null;             document.onmouseup = null;         }     }; }
调用代码:
[u]复制代码[/u] 代码如下:
window.onload = function () {     var login = document.getElementById('login');     drag(login); };
欢迎批评指正!!!
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部