• 鼠标事件(拖拽)


    <!DOCTYPE html>
    <html>

    <head>
    <meta charset="UTF-8">
    <title></title>
    <style>
    #div2 {
    150px;
    height: 150px;
    position: absolute;
    background: #CCCCCC;
    }
    </style>
    <script>
    window.onload = function() {
    var div2 = document.getElementById('div2');
    var x = 0;
    var y = 0;

    document.onmousedown = function(ev) {
    var oEvent = ev || event;

    //x、y分别代表,鼠标与div之间的横坐标和纵坐标
    x = oEvent.clientX - div2.offsetLeft;
    y = oEvent.clientY - div2.offsetTop;

    document.onmousemove = function(ev) {
    var oEvent = ev || event;

    //m、n分别代表div的横、纵坐标
    var m = oEvent.clientX - x;
    var n = oEvent.clientY - y;

    //下面两个if else 阻止div飞出页面
    if(m < 0){
    m = 0;
    }
    //document.documentElement.clientWidth获取整个页面的宽度
    else if(m > (document.documentElement.clientWidth - div2.offsetWidth)){
    m = document.documentElement.clientWidth - div2.offsetWidth;
    }

    if(n < 0){
    n =0;
    }
    else if(n > (document.documentElement.clientHeight - div2.offsetHeight)){
    n = document.documentElement.clientHeight - div2.offsetHeight;
    }

    //设置div的坐标
    div2.style.left = m + 'px' ;
    div2.style.top = n + 'px';

    };

    document.onmouseup = function(ev){
    var oEvent = ev || event;

    //释放move事件,如果不释放,放开鼠标后,div仍然会跟随鼠标移动
    document.onmousemove = null;
    document.onmouseup = null;
    };
    };

    };
    </script>
    </head>

    <body>
    <div id="div2"></div>
    </body>

    </html>

  • 相关阅读:
    矩阵快速幂模板C++
    异或空间与高斯消元
    POJ2947解题报告
    Manacher算法笔记 C++
    Python(80)_使用selenium实现第一个web自动化程序
    Python(78)_认识selenium自动化测试
    111
    Python(60)_闭包
    Python(55)_默认参数的陷阱
    Python(53)_实现一个加法计数器
  • 原文地址:https://www.cnblogs.com/honglingjin/p/6735075.html
Copyright © 2020-2023  润新知