zoukankan      html  css  js  c++  java
  • js画线

    <body>
        <div id="main">
        </div>
        <div id="fd" style="filter:alpha(opacity=100);opacity:1;position: absolute;text-align: center; z-index:9999;  100px; height: 78px; left: 155px; top: 177px; border-right: #0099ff 1px solid; border-top: #0099ff 1px solid; border-left: #0099ff 1px solid; border-bottom: #0099ff 1px solid;">
            拖动的div
        </div>
        <script language="javascript">
       //----------------鼠标拖动-------------------
       var od = document.getElementById("fd");
        var dx,dy,mx,my,mouseD;
        var odrag;
        var isIE = document.all ? true : false;
        document.onmousedown = function(e){
            var e = e ? e : event;
            if(e.button == (document.all ? 1 : 0))
            {
                mouseD = true;
            }
        }
        document.onmouseup = function(){
            mouseD = false;
            odrag = "";
            if(isIE)
            {
                od.releaseCapture();
                od.filters.alpha.opacity = 100;
            }
            else
            {
                window.releaseEvents(od.MOUSEMOVE);
                od.style.opacity = 1;
            }
        }
        od.onmousedown = function(e){
            odrag = this;
            var e = e ? e : event;
            if(e.button == (document.all ? 1 : 0))
            {
                mx = e.clientX;
                my = e.clientY;
                od.style.left = od.offsetLeft + "px";
                od.style.top = od.offsetTop + "px";
                if(isIE)
                {
                    od.setCapture();
                    od.filters.alpha.opacity = 50;
                }
                else
                {
                    window.captureEvents(Event.MOUSEMOVE);
                    od.style.opacity = 0.5;
                }
            }
        }
        document.onmousemove = function(e){
            var e = e ? e : event;
            if(mouseD==true && odrag)
            {
                var mrx = e.clientX - mx;
                var mry = e.clientY - my;
                var result=parseInt(od.style.left) +mrx;
                od.style.left = parseInt(od.style.left) +mrx + "px";
                od.style.top = parseInt(od.style.top) + mry + "px";
                mx = e.clientX;
                my = e.clientY;
    
             var html="";
             var x=od.style.left;
             var y=od.style.top;
             var lineHtml=drawLine(0,0,parseInt(x),parseInt(y),"red");
             document.getElementById("main").innerHTML=lineHtml;
            }
        }
    
        function drawLine(x0, y0, x1, y1, color) {
            var rs = "";
            if (y0 == y1)  //画横线
            {
                if (x0 > x1) {
                    var t = x0;
                    x0 = x1;
                    x1 = t;
                }
                rs = "<span style='top:" + y0 + ";left:" + x0 + ";position:absolute;font-size:1px;background-color:" + color + ";height:1; " + Math.abs(x1 - x0) + "'></span>";
            }
            else if (x0 == x1)  //画竖线
            {
                if (y0 > y1) {
                    var t = y0;
                    y0 = y1;
                    y1 = t;
                }
                rs = "<span style='top:" + y0 + ";left:" + x0 + ";position:absolute;font-size:1px;background-color:" + color + ";1;height:" + Math.abs(y1 - y0) + "'></span>";
            }
            else {
                var lx = x1 - x0;
                var ly = y1 - y0;
                var l = Math.sqrt(lx * lx + ly * ly);
                rs = new Array();
                for (var i = 0; i < l; i += 1) {
                    var p = i / l;
                    var px = parseInt(x0 + lx * p);
                    var py = parseInt(y0 + ly * p);
                    rs[rs.length] = "<span style='top:" + py + ";left:" + px + ";height:1;1;position:absolute;font-size:1px;background-color:" + color + "'></span>";
                }
                rs = rs.join("");
            }
            return rs;
        }
    
    
    
        </script>
    </body>

     http://bbs.csdn.net/topics/260003609

  • 相关阅读:
    关于Unicode的小理解
    大数据高并发学习笔记(3)
    大数据高并发学习笔记(2)
    .net阻止XSS攻击方法
    VUE-百度地图添加覆盖物及信息窗口添加导航功能
    第34章:高级全局API钩取 : IE连接控制
    第2章:动态调试技术--OllyDbg
    第33章:隐藏进程-API代码修改技术(下)
    第33章:隐藏进程-API代码修改技术(中)
    第1章:基础知识
  • 原文地址:https://www.cnblogs.com/chen110xi/p/4636235.html
Copyright © 2011-2022 走看看