zoukankan      html  css  js  c++  java
  • 简单的拖拽

    简单的拖拽,有超出边界界限的检测。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style>
        *{margin:0; padding: 0;}
        body{ position: relative;}
        #div{ width:100px; height:100px; background:red; position:absolute; left:0; top:0;}    
        </style>
    </head>
    <body>
        <div id="div"></div>
        <script>
            function range(iNum,iMax,iMin){//检测 是否超出边界
                if( iNum > iMax ){
                    return iMax;
                }
                else if( iNum < iMin ){
                    return iMin;
                }
                else{
                    return iNum;
                }   
            }    
            function drag(obj){ //拖拽
                var disX = 0,
                    disY = 0;
                obj.onmousedown = function(ev){
                    var ev = ev || window.event;
                    disX = ev.clientX - obj.offsetLeft;
                    disY = ev.clientY - obj.offsetTop;
                    if (obj.setCapture) obj.setCapture();
                    document.onmousemove = function(ev){
                        var ev = ev || window.event;
                        var L = range(ev.clientX - disX , document.documentElement.clientWidth - obj.offsetWidth , 0 );
                        var T = range(ev.clientY - disY , document.documentElement.clientHeight - obj.offsetHeight , 0 );
                        // var L = ev.clientX - disX;
                        // var T = ev.clientY - disY;                    
                        obj.style.left = L + 'px';
                        obj.style.top = T + 'px';
                    };
                    document.onmouseup = function(){
                        document.onmousemove = null;
                        document.onmouseup = null;
                        if (obj.releaseCapture) obj.releaseCapture();
                    };
                    return false;
                }
            }
            window.onload = function(){
                var obj = document.getElementById('div');
                drag(obj);
            }
        </script>
    </body>
    </html>
  • 相关阅读:
    C语言-const和volatile深度分析
    C语言循环语句工程用法
    C分支语句的工程用法
    函数对象分析
    关于protel电路图导入word
    单片机程序编写与下载
    关于Protel输出PDF原理图
    关于定时器、外部中断的一些理解
    锁存、译码介绍
    关于Proteus电压设置
  • 原文地址:https://www.cnblogs.com/violinxliu/p/3828514.html
Copyright © 2011-2022 走看看