实现层的拖动功能

我顶 字号:

 

<div id="FrameLayer" onMouseDown="drag()" style="position:absolute; z-index:10000; cursor:hand; left:122px; top:48px; width:263px; height:151px; z-index:1; background-color: #FFFFCC; layer-background-color: #FFFFCC; border: 1px none #000000;">我可以移动哦哈哈</div>
<script>
var dragapproved=false; //鼠标是否按下的标志
var from_x=0;            //鼠标选择层时,鼠标的x坐标(相对于窗体)与层的右边距
var from_y=0;            //鼠标选择层时,鼠标的y坐标(相对于窗体)与层的上边距
var layer_width=263;
var layer_height=151;

function moveLayerTo(obj,x,y)
{
  document.getElementById(obj).style.left=x;
  document.getElementById(obj).style.top=y;
}
function DragTo()
{  
     if (dragapproved==true)
     {
    var x=event.x-from_x;
    var y=event.y-from_y;  
   
    var body_x=document.body.clientWidth-layer_width;
  
   
    if(x>body_x)
    {
    x=body_x;
    }
   
 
      
    moveLayerTo("FrameLayer",x,y);
   } 
}


function drag()
{
    var obj=document.getElementById("FrameLayer");
    var curr_x= parseInt(obj.style.left.split("p")[0]);
 var curr_y= parseInt(obj.style.top.split("p")[0]);
    from_x=event.x-curr_x;
 from_y=event.y-curr_y;
    
    dragapproved=true;
 obj.οnmοusemοve=DragTo; 
 if (document.all)
 { 
 document.οnmοuseup=new Function('dragapproved=false;')
 }
}</script>

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值