JavaScript 可移动层

    Ajax的兴起,造就了很多Web体验的产生,移动层即为其中一种产物,目的是让页面上的可以产生一个可以移动的图层,来模拟alert弹出窗口,让用户很平滑的在同一页面上进行操作。

    网上参考代码:

<html>
    <head>
        <title>测试可移动层</title>
        <script>
            var mydiv = null;
            var x,y;
            var lefttemp,toptemp;
            function newDiv(){
                
            }
            
            function startDrag(){
                mydiv = document.getElementById("testDiv");
                lefttemp = mydiv.style.pixelLeft;
                toptemp = mydiv.style.pixelTop;
                x = event.clientX;
                y = event.clientY;
                document.onmousemove = drag;
                document.onmouseup = endDrag;
            }
            
            function endDrag(){
                document.οnmοusemοve="";
                document.οnmοuseup="";
            }
            
            function drag(){
                mydiv.style.pixelLeft = lefttemp + event.clientX - x;
                mydiv.style.pixelTop = toptemp + event.clientY - y;
            }
        </script>
</head>
    <body>
        <div id="testDiv" style="width:392px; height:154px; background-color:#6633CC; position:absolute; left:60px; top:48px;">
          <table width="100%" height="26" border="0" cellpadding="0" cellspacing="0" bgcolor="#33FF33" onMouseDown="startDrag();">
            <tr>
              <td>&nbsp;</td>
            </tr>
          </table>
        </div>
    </body>
</html>

 个人的尝试:

<html>
    <head>
        <title>测试可移动层</title>
        <script>
            var mydiv = null;
            var x,y;
            var lefttemp,toptemp;
            function newDiv(){
                
            }
            
            function startDrag(){
                mydiv = document.getElementById("testDiv");
                lefttemp = mydiv.style.pixelLeft;
                toptemp = mydiv.style.pixelTop;
                x = event.clientX;
                y = event.clientY;
                document.onmousemove = drag;
                document.onmouseup = endDrag;
            }
            
            function endDrag(){
                document.οnmοusemοve="";
                document.οnmοuseup="";
            }
            
            function drag(){
                mydiv.style.pixelLeft = lefttemp + event.clientX - x;
                mydiv.style.pixelTop = toptemp + event.clientY - y;
            }
        </script>
</head>
    <body>
        <div id="testDiv" style="width:392px; height:154px; background-color:#6633CC; position:absolute; left:60px; top:48px;">
          <table width="100%" height="26" border="0" cellpadding="0" cellspacing="0" bgcolor="#33FF33" onMouseDown="startDrag();">
            <tr>
              <td>&nbsp;</td>
            </tr>
          </table>
        </div>
    </body>
</html>

 虽然现在有像jQuery这么流行的前端库做移动层的支撑,但是如果不去琢磨一下的话,也许永远也不会知道其中的原理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值