zoukankan      html  css  js  c++  java
  • html 绘制矩形轨迹,选中区域

    图片

     code

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8" />
    <title></title>
    <style type="text/css">
    .box {
        border:1px solid black;
         0px;
        height: 0px;
        position: absolute;
         
        z-index:-1;
    }
    div{
    opacity:1;
    border:1px solid black;
    800px;
    height:500px;
     
    }
    </style>
    <script type="text/javascript">
    window.onload = function(e) {
        e = e || window.event;
        // startX, startY 为鼠标点击时初始坐标
        var startX, startY; 
        // 鼠标按下
        document.onmousedown = function(e) {
            startX = e.pageX;
            startY = e.pageY;
            // 在页面创建 box
            var active_box = document.createElement("div");
            active_box.id = "active_box";
            active_box.className = "box";
            active_box.style.top = startY + 'px';
            active_box.style.left = startX + 'px';
            document.body.appendChild(active_box);
            active_box = null;
        };   
        // 鼠标移动
        document.onmousemove = function(e) {
            // 更新 box 尺寸
            if(document.getElementById("active_box") !== null) {
                var ab = document.getElementById("active_box");
                if(e.pageX>startX){
                    if(e.pageY>startY){
                        active_box.style.top = startY + 'px';
                        active_box.style.left = startX + 'px';
                        ab.style.width = Math.abs(e.pageX - startX) + 'px';
                        ab.style.height = Math.abs(e.pageY - startY) + 'px';
                    }else if(e.pageY==startY){
                        active_box.style.top = startY + 'px';
                        active_box.style.left = startX + 'px';
                        ab.style.width = Math.abs(e.pageX - startX) + 'px';
                        ab.style.height = Math.abs(e.pageY - startY) + 'px';
                    }else{
                        active_box.style.top = e.pageY + 'px';
                        active_box.style.left = startX + 'px';
                        ab.style.width = Math.abs(e.pageX - startX) + 'px';
                        ab.style.height = Math.abs(e.pageY - startY) + 'px';
                    }
                }else if(e.pageX==startX){
                    if(e.pageY>startY){
                        active_box.style.top = startY + 'px';
                        active_box.style.left = startX + 'px';
                        ab.style.width = Math.abs(e.pageX - startX) + 'px';
                        ab.style.height = Math.abs(e.pageY - startY) + 'px';
                    }else if(e.pageY==startY){
                        active_box.style.top = startY + 'px';
                        active_box.style.left = startX + 'px';
                        ab.style.width = Math.abs(e.pageX - startX) + 'px';
                        ab.style.height = Math.abs(e.pageY - startY) + 'px';
                    }else{
                        active_box.style.top = e.pageY + 'px';
                        active_box.style.left = startX + 'px';
                        ab.style.width = Math.abs(e.pageX - startX) + 'px';
                        ab.style.height = Math.abs(e.pageY - startY) + 'px';
                    }
                }else{
                    if(e.pageY>startY){
                        active_box.style.top = startY + 'px';
                        active_box.style.left = e.pageX + 'px';
                        ab.style.width = Math.abs(e.pageX - startX) + 'px';
                        ab.style.height = Math.abs(e.pageY - startY) + 'px';
                    }else if(e.pageY==startY){
                        active_box.style.top = e.pageY + 'px';
                        active_box.style.left = e.pageX + 'px';
                        ab.style.width = Math.abs(e.pageX - startX) + 'px';
                        ab.style.height = Math.abs(e.pageY - startY) + 'px';
                    }else{
                        active_box.style.top = e.pageY + 'px';
                        active_box.style.left = e.pageX + 'px';
                        ab.style.width = Math.abs(e.pageX - startX) + 'px';
                        ab.style.height = Math.abs(e.pageY - startY) + 'px';
                    }  
                }
                 
            }
        };    
        // 鼠标抬起
        document.onmouseup = function(e) {
            if(document.getElementById("active_box") !== null) {
                var ab = document.getElementById("active_box");
                ab.removeAttribute("id");
                // 如果长宽均小于 3px,移除 box
                document.body.removeChild(ab);
            }
        };
    };
    </script>
    </head>
    <body>
    <div></div>
    <p>点击鼠标左键并拖动绘制矩形</p>
    </body>
    </html>
  • 相关阅读:
    QTP自动化测试进阶
    疯狂Java实战演义
    软件开发之韵:和谐敏捷
    Android应用开发详解
    操作系统直接决定了计算机系统的整体性能
    iBATIS框架源码剖析
    PHP 5完全攻略
    天气地图系统
    OpenSolaris系统管理
    Asp.net MVC 3实例学习之ExtShop(三)——完成首页
  • 原文地址:https://www.cnblogs.com/sea-stream/p/9657343.html
Copyright © 2011-2022 走看看