zoukankan      html  css  js  c++  java
  • 修改为支持多个层拖动模式可以制作为[许愿墙]

    http://bbs.blueidea.com/thread-2784653-1-1.html
    Div Move Temp
    点我调用 拖动窗口

    • 显示窗口
    • 最大化窗口
    点我调用 拖动窗口

    • 显示窗口
    • 最大化窗口
    点我调用 拖动窗口

    • 显示窗口
    • 最大化窗口
    点我调用 拖动窗口

    • 显示窗口
    • 最大化窗口
    点我调用 拖动窗口

    • 显示窗口
    • 最大化窗口




    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Div Move Temp</title>
    <style type="text/css">
    body
    {
    /*background-image:url(http://mxd.sdo.com/web2005/download/image/wall_0201.jpg);*/
    }

    .InfoKuang 
    {
        position
    :absolute;
        width
    :130px;
        height
    :85px;
        z-index
    :1;
        filter
    :alpha(Opacity=60,style=0);
        opacity
    :0.6;
        padding
    : 3px;
        border
    : 1px dashed #000000;
        z-index
    :5000;
                    font-size
    :9pt;
                   
       
       
    }

    .InfoKuang ul 
    {
        margin
    : 1px;
        padding
    : 0px;
        border-top-width
    : 1px;
        border-right-width
    : 1px;
        border-bottom-width
    : 1px;
        border-left-width
    : 1px;
        border-top-style
    : none;
        border-right-style
    : none;
        border-bottom-style
    : solid;
        border-left-style
    : none;
        border-top-color
    : #000000;
        border-right-color
    : #000000;
        border-bottom-color
    : #000000;
        border-left-color
    : #000000;
        color
    : #000000;
        background-color
    :#0faead;
    }

    .InfoKuang li 
    {
        height
    :24px;
        padding
    : 1px;
        line-height
    : 24px;
    }

    .main
    {    width:500px;
        height
    :300px;}

    </style>
    <script language="javascript"  type="text/javascript">
    //通用 移动 Div 类
    //
    请保留一下我的信息,谢谢
    //
    Edit By Skybot
    //
    QQ:35287352
    function Tong_MoveDiv()
    {
        
    //参数说明
        // id 要移动的层ID
        // Evt 是 event, window.event; 要在FF 中可以用    e ? e :window.event;
        // T 为 int 有数字是拖动 没有是变大小
        this.Move=function(Id,Evt,T)
        
    {
            
    if(Id==""return;
            
    var o = document.getElementById(Id);
            
    if(!o) return;//如果这个东东不在
            evt = Evt ? Evt : window.event;
            o.style.position 
    = "absolute";//设定他的样式为绝对定位
            o.style.zIndex = 200;//这里显示上下的
            var obj = evt.srcElement ? evt.srcElement : evt.target; //得到个原素  使它在FF中也可以用
            //得到当前对要移动对象的 坐标
            var w = o.offsetWidth;
            
    var h = o.offsetHeight;
            
    var l = o.offsetLeft;
            
    var t = o.offsetTop;
            
    var div = document.createElement("DIV");//新原素DIV
            document.body.appendChild(div);
            div.style.cssText 
    = "filter:alpha(Opacity=10,style=0);opacity:0.2;"+w+"px;height:"+h+"px; top:"+t+"px;left:"+l+"px;position:absolute;background:#000";//设定 filter; 注意opacity 是FF中的 Opacity
            div.setAttribute("id", Id +"temp");
           
            
    if(T)//看看是拖动还是 变大小
            {
                
    this.Move_OnlyMove(Id,evt);
            }

            
    else
            
    {
               
            }

        }

       
        
    //移动函数
        //参数 Id  要移动的层ID
        //Evt 是 event, window.event; 要在FF 中可以用    e ? e :window.event;
        this.Move_OnlyMove = function(Id,Evt)
        
    {
            
    var o = document.getElementById(Id+"temp");
            
    if(!o) return;
            evt 
    = Evt?Evt:window.event;//都是FF 才要这么写的
            var relLeft = evt.clientX - o.offsetLeft;//得到左边的 宽度
            var relTop = evt.clientY - o.offsetTop;//得到上边的 宽度
            //抓取 事件
            if (!window.captureEvents)
            
    {
                o.setCapture(); 
    //指定  抓取 事件
           
            }

            
    else
            
    {
                window.captureEvents(Event.MOUSEMOVE
    |Event.MOUSEUP);
            }

           
            
    //文档的 onmousemove 事件
            document.onmousemove = function(e)
            
    {
                
    if (!o) return;
                e 
    = e ? e : window.event;
                
    if (e.clientX - relLeft <= 0)
                    o.style.left 
    = 0 +"px";
                
    else if (e.clientX - relLeft >= document.documentElement.clientWidth - o.offsetWidth - 2)
                    o.style.left 
    = (document.documentElement.clientWidth - o.offsetWidth - 2+"px";
                
    else
                    o.style.left 
    = e.clientX - relLeft +"px";
                
    if (e.clientY - relTop <= 1)
                    o.style.top 
    = 1 +"px";
                
    else if (e.clientY - relTop >= document.documentElement.clientHeight - o.offsetHeight - 30)
                    o.style.top 
    = (document.documentElement.clientHeight - o.offsetHeight - 30+"px";
                
    else
                    o.style.top 
    = e.clientY - relTop +"px";
            }

           
            
    //文档的 onmouseup 事件
            document.onmouseup = function()
            
    {
                
    if (!o) return;
                
    if (!window.captureEvents)
                    o.releaseCapture();
                
    else
                    window.releaseEvents(Event.MOUSEMOVE
    |Event.MOUSEUP);
                
    var o1 = document.getElementById(Id);
                
    if (!o1) return;
                
    var l0 = o.offsetLeft;
                
    var t0 = o.offsetTop;
                
    var l = o1.offsetLeft;
                
    var t = o1.offsetTop;   
                MyMove.Move_e(Id, l0 , t0, l, t);
                document.body.removeChild(o);
                o 
    = null;
            }
       
        }

       
        
    this.Move_e = function(Id, l0 , t0, l, t)
        
    {
            
    if (typeof(window["ct"+ Id]) != "undefined") clearTimeout(window["ct"+ Id]);
            
    var o = document.getElementById(Id);
            
    if (!o) return;
            
    var sl = st = 8;
            
    var s_l = Math.abs(l0 - l);
            
    var s_t = Math.abs(t0 - t);
            
    if (s_l - s_t > 0)
                
    if (s_t)
                    sl 
    = Math.round(s_l / s_t) > 8 ? 8 : Math.round(s_l / s_t) * 6;
                
    else
                    sl 
    = 0;
            
    else
                
    if (s_l)
                    st 
    = Math.round(s_t / s_l) > 8 ? 8 : Math.round(s_t / s_l) * 6;
                
    else
                    st 
    = 0;
            
    if (l0 - l < 0) sl *= -1;
            
    if (t0 - t < 0) st *= -1;
            
    if (Math.abs(l + sl - l0) < 52 && sl) sl = sl > 0 ? 2 : -2;
            
    if (Math.abs(t + st - t0) < 52 && st) st = st > 0 ? 2 : -2;
            
    if (Math.abs(l + sl - l0) < 16 && sl) sl = sl > 0 ? 1 : -1;
            
    if (Math.abs(t + st - t0) < 16 && st) st = st > 0 ? 1 : -1;
            
    if (s_l == 0 && s_t == 0return;
            
    if (Math.abs(l + sl - l0) < 2)
                o.style.left 
    = l0 +"px";
            
    else
                o.style.left 
    = l + sl +"px";
            
    if (Math.abs(t + st - t0) < 2)
                o.style.top 
    = t0 +"px";
            
    else
                o.style.top 
    = t + st +"px";
            window[
    "ct"+ Id] = window.setTimeout("MyMove.Move_e('"+ Id +"', "+ l0 +" , "+ t0 +""+ (l + sl) +""+ (t + st) +")"1);
        }

       
       
    }

    var MyMove = new  Tong_MoveDiv();
    </script>
    </head>
    <body>
    <div class="main">
    <div id="InfoKuang" class="InfoKuang" onmousedown="MyMove.Move('InfoKuang',event,1)">
    <span style="cursor:move;">点我调用 拖动窗口</span>
        
    <ul>
            
    <li>
           
            
    </li>
        
    </ul>
        
    <ul>
            
    <li>
            显示窗口
            
    </li>
        
    </ul>
        
    <ul>
            
    <li>
            最大化窗口
            
    </li>
        
    </ul>
    </div>
    <div id="InfoKuang1"  onmousedown="MyMove.Move('InfoKuang1',event,1)">
    <span style="cursor:move;">点我调用 拖动窗口</span>
        
    <ul>
            
    <li>
           
            
    </li>
        
    </ul>
        
    <ul>
            
    <li>
            显示窗口
            
    </li>
        
    </ul>
        
    <ul>
            
    <li>
            最大化窗口
            
    </li>
        
    </ul>
    </div>
    <div id="InfoKuang2"  onmousedown="MyMove.Move('InfoKuang2',event,1)">
    <span style="cursor:move;">点我调用 拖动窗口</span>
        
    <ul>
            
    <li>
           
            
    </li>
        
    </ul>
        
    <ul>
            
    <li>
            显示窗口
            
    </li>
        
    </ul>
        
    <ul>
            
    <li>
            最大化窗口
            
    </li>
        
    </ul>
    </div>
    <div id="InfoKuang3"   onmousedown="MyMove.Move('InfoKuang3',event,1)">
    <span style="cursor:move;">点我调用 拖动窗口</span>
        
    <ul>
            
    <li>
           
            
    </li>
        
    </ul>
        
    <ul>
            
    <li>
            显示窗口
            
    </li>
        
    </ul>
        
    <ul>
            
    <li>
            最大化窗口
            
    </li>
        
    </ul>
    </div>
    <div id="InfoKuang4"  onmousedown="MyMove.Move('InfoKuang4',event,1)">
    <span style="cursor:move;">点我调用 拖动窗口</span>
        
    <ul>
            
    <li>
           
            
    </li>
        
    </ul>
        
    <ul>
            
    <li>
            显示窗口
            
    </li>
        
    </ul>
        
    <ul>
            
    <li>
            最大化窗口
            
    </li>
        
    </ul>
    </div>
    </div>
    </body>
    </html>
  • 相关阅读:
    Dynamics CRM 给视图配置安全角色
    统计分析中的假设检验
    OLAP工作的基本概念(结合个人工作)
    Dynamics CRM 导入用户数据错误 could not retrieve salesperson role
    HTTP状态码汇总
    HTTP状态码汇总
    PHP超级全局变量——Session 变量
    PHP超级全局变量——Session 变量
    RESTful架构详解
    RESTful架构详解
  • 原文地址:https://www.cnblogs.com/CB/p/1139018.html
Copyright © 2011-2022 走看看