zoukankan      html  css  js  c++  java
  • 限制范围拖拽,磁性吸附。

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
    body {
    margin: 0;
    }
    #wrap {
    margin: 50px auto;
    position: relative;
    border: 1px solid #000;
    600px;
    height: 500px;
    }
    #div {
    position: absolute;
    left: 0;
    top: 0;
    100px;
    height: 100px;
    background: red;
    cursor: move;
    }
    </style>
    </head>
    <body>
    <div id="wrap">
    <div id="div">文字</div>
    </div>
    <script type="text/javascript">
    (function(){
    var div = document.querySelector('#div');
    var maxX = div.offsetParent.clientWidth - div.offsetWidth;
    var maxY = div.offsetParent.clientHeight - div.offsetHeight;
    div.addEventListener('mousedown', function(e) {
    e.preventDefault();
    var start = {x: e.clientX,y: e.clientY};
    var elOffset = {x: div.offsetLeft,y: div.offsetTop};
    document.addEventListener('mousemove', move);
    document.addEventListener('mouseup', end);
    function move(e){
    var dis = {x:e.clientX - start.x,y:e.clientY - start.y};
    var x = dis.x + elOffset.x;
    var y = dis.y + elOffset.y;
    /* 左侧磁性吸附 */
    x = x<0?0:(x>maxX?maxX:x);

    y = y<0?0:(y>maxY?maxY:y);
    console.log(x);
    div.style.left = x + "px";
    div.style.top = y + "px";
    }
    function end(e){
    document.removeEventListener('mousemove', move);
    document.removeEventListener('mouseup', end);
    var dis = {x:e.clientX - start.x,y:e.clientY - start.y};
    var x = dis.x + elOffset.x;
    var y = dis.y + elOffset.y;
    /* 左侧磁性吸附 */
    x = x<100?0:(x>maxX?maxX:x);
    /* 上边磁性吸附 */
    y = y<100?0:(y>maxY?maxY:y);
    console.log(x);
    div.style.left = x + "px";
    div.style.top = y + "px";
    }
    });

    })();
    </script>
    </body>
    </html>

  • 相关阅读:
    SQL SERVER数据库索引(学习笔记)
    下载word文档
    Asp.net MVC 3+ Jquery UI Autocomplete实现百度效果
    利用C#实现分布式数据库查询
    SQL2005 存储过程通用分页
    发送电子邮件
    查看索引碎片,并生成重建索引代码
    数学趣题——哥德巴赫猜想的近似证明
    数学趣题——判断回文数字
    数学趣题——填数字游戏
  • 原文地址:https://www.cnblogs.com/catEatBird/p/7068200.html
Copyright © 2011-2022 走看看