在ASP.NET中如何实现拖拽和停靠?

None.gif < script language = " javascript " >
None.gif
var  m_iRectSize  =   6 ;         // 框框大小
None.gif
var  m_oRect  =   new  Array();     // 框框数组
None.gif
var  m_oActiveRect  =   null ;     // 激活的框框
None.gif
var  m_iOffsetRectX  =   0 ;         // 框框x偏移
None.gif
var  m_iOffsetRectY  =   0 ;         // 框框y偏移
None.gif

None.gif
var  m_oActiveObj  =   null ;     // 激活的对象
None.gif
var  m_bMove  =   false ;         // 是否处于移动状态
None.gif

None.gif
var  m_iOffsetX  =   0 ;             // x偏移
None.gif
var  m_iOffsetY  =   0 ;             // y偏移
None.gif

None.gif
function  obj_MouseDown(t_oObj)
None.gif{
None.gif    m_oActiveObj 
=  t_oObj;
None.gif    m_bMove 
=   true ;
None.gif
None.gif    
// -------记录偏移---------
None.gif
    m_iOffsetX  =  event.x  -  parseInt(m_oActiveObj.style.left);
None.gif    m_iOffsetY 
=  event.y  -  parseInt(m_oActiveObj.style.top);
None.gif    
// ------------------------
None.gif
}
None.gif
None.gif
function  obj_MouseMove()
None.gif{
None.gif    
if  (m_oActiveObj  ==   null )
None.gif        
return ;
None.gif    
None.gif    
if  ( ! m_bMove)
None.gif        
return ;
None.gif    
None.gif    m_oActiveObj.style.left 
=  event.x  -  m_iOffsetX;
None.gif    m_oActiveObj.style.top 
=  event.y  -  m_iOffsetY;
None.gif
None.gif    RectMove();
None.gif}
None.gif
None.gif
function  obj_MouseUp()
None.gif{
None.gif    m_bMove 
=   false ;
None.gif}
None.gif
None.gif
function  PageInit()
None.gif{
None.gif    m_oRect.push(document.all[
" rect1 " ]);
None.gif    m_oRect.push(document.all[
" rect2 " ]);
None.gif    m_oRect.push(document.all[
" rect3 " ]);
None.gif    m_oRect.push(document.all[
" rect4 " ]);
None.gif    m_oRect.push(document.all[
" rect5 " ]);
None.gif    m_oRect.push(document.all[
" rect6 " ]);
None.gif    m_oRect.push(document.all[
" rect7 " ]);
None.gif    m_oRect.push(document.all[
" rect8 " ]);
None.gif}
None.gif
None.gif
function  RectMove()
None.gif{
None.gif    
// -------框框处理--------
None.gif
     if  (m_oRect[ 0 !=  m_oActiveRect)
None.gif    {
None.gif        m_oRect[
0 ].style.top  =  parseInt(m_oActiveObj.style.top)  -  m_iRectSize / 2 ;
None.gif        m_oRect[
0 ].style.left  =  parseInt(m_oActiveObj.style.left)  -  m_iRectSize / 2 ;
None.gif    }
None.gif
None.gif    
if  (m_oRect[ 1 !=  m_oActiveRect)
None.gif    {
None.gif        m_oRect[
1 ].style.top  =  parseInt(m_oActiveObj.style.top)  -  m_iRectSize / 2 ;
None.gif        m_oRect[
1 ].style.left  =  parseInt(m_oActiveObj.style.left)  -  m_iRectSize / 2   +  
None.gif
None.gifparseInt(m_oActiveObj.style.width)
/ 2 ;
None.gif    }
None.gif
None.gif    
if  (m_oRect[ 2 !=  m_oActiveRect)
None.gif    {
None.gif        m_oRect[
2 ].style.top  =  parseInt(m_oActiveObj.style.top)  -  m_iRectSize / 2 ;
None.gif        m_oRect[
2 ].style.left  =  parseInt(m_oActiveObj.style.left)  -  m_iRectSize / 2   +  
None.gif
None.gifparseInt(m_oActiveObj.style.width);
None.gif    }
None.gif
None.gif    
if  (m_oRect[ 3 !=  m_oActiveRect)
None.gif    {
None.gif        m_oRect[
3 ].style.top  =  parseInt(m_oActiveObj.style.top)  -  m_iRectSize / 2   +  
None.gif
None.gifparseInt(m_oActiveObj.style.height)
/ 2 ;
None.gif        m_oRect[
3 ].style.left  =  parseInt(m_oActiveObj.style.left)  -  m_iRectSize / 2 ;
None.gif    }
None.gif
None.gif    
if  (m_oRect[ 4 !=  m_oActiveRect)
None.gif    {
None.gif        m_oRect[
4 ].style.top  =  parseInt(m_oActiveObj.style.top)  -  m_iRectSize / 2   +  
None.gif
None.gifparseInt(m_oActiveObj.style.height)
/ 2 ;
None.gif        m_oRect[
4 ].style.left  =  parseInt(m_oActiveObj.style.left)  -  m_iRectSize / 2   +  
None.gif
None.gifparseInt(m_oActiveObj.style.width);
None.gif    }
None.gif
None.gif    
if  (m_oRect[ 5 !=  m_oActiveRect)
None.gif    {
None.gif        m_oRect[
5 ].style.top  =  parseInt(m_oActiveObj.style.top)  -  m_iRectSize / 2   +  
None.gif
None.gifparseInt(m_oActiveObj.style.height);
None.gif        m_oRect[
5 ].style.left  =  parseInt(m_oActiveObj.style.left)  -  m_iRectSize / 2 ;
None.gif    }
None.gif
None.gif    
if  (m_oRect[ 6 !=  m_oActiveRect)
None.gif    {
None.gif        m_oRect[
6 ].style.top  =  parseInt(m_oActiveObj.style.top)  -  m_iRectSize / 2   +  
None.gif
None.gifparseInt(m_oActiveObj.style.height);
None.gif        m_oRect[
6 ].style.left  =  parseInt(m_oActiveObj.style.left)  -  m_iRectSize / 2   +  
None.gif
None.gifparseInt(m_oActiveObj.style.width)
/ 2 ;
None.gif    }
None.gif
None.gif    
if  (m_oRect[ 7 !=  m_oActiveRect)
None.gif    {
None.gif        m_oRect[
7 ].style.top  =  parseInt(m_oActiveObj.style.top)  -  m_iRectSize / 2   +  
None.gif
None.gifparseInt(m_oActiveObj.style.height);
None.gif        m_oRect[
7 ].style.left  =  parseInt(m_oActiveObj.style.left)  -  m_iRectSize / 2   +  
None.gif
None.gifparseInt(m_oActiveObj.style.width);
None.gif    }
None.gif    
// -----------------------
None.gif
}
None.gif
None.gif
function  rect_MouseDown(t_oObj)
None.gif{
None.gif    
if  (m_oActiveRect  ==   null )
None.gif    {
None.gif        m_oActiveRect 
=  t_oObj;
None.gif    }
None.gif
None.gif    
// -------记录偏移---------
None.gif
    m_iOffsetRectX  =  event.x  -  parseInt(m_oActiveRect.style.left);
None.gif    m_iOffsetRectY 
=  event.y  -  parseInt(m_oActiveRect.style.top);
None.gif    
// ------------------------
None.gif
}
None.gif
None.gif
function  rect_MouseMove()
None.gif{
None.gif    
if  (m_oActiveRect  ==   null )
None.gif        
return ;
None.gif
None.gif    m_oActiveObj.style.width 
=  parseInt(m_oActiveObj.style.width)  +  event.x  -  
None.gif
None.gifm_iOffsetRectX 
-  parseInt(m_oActiveRect.style.left);
None.gif    m_oActiveObj.style.height 
=  parseInt(m_oActiveObj.style.height)  +  event.y  -  
None.gif
None.gifm_iOffsetRectY 
-  parseInt(m_oActiveRect.style.top);
None.gif
None.gif    m_oActiveRect.style.left 
=  event.x  -  m_iOffsetRectX;
None.gif    m_oActiveRect.style.top 
=  event.y  -  m_iOffsetRectY;
None.gif
None.gif    RectMove();
None.gif}
None.gif
None.gif
function  rect_MouseUp()
None.gif{
None.gif    m_oActiveRect 
=   null ;
None.gif}
None.gif
</ script >
None.gif
None.gif
< body onload = " PageInit(); " >
None.gif
</ body >
None.gif
< input type = " text "  id = " txb1 "  
None.gif
None.gifstyle
= " position:absolute;top:0px;left:0px;width:100px;height:30px;cursor:default "  
None.gif
None.gifonmousedown
= " obj_MouseDown(this); "  onmousemove = " obj_MouseMove(); "  onmouseup = " obj_MouseUp(); "  
None.gif
None.gifreadonly
>
None.gif
< img id = " rect1 "  style = " position:absolute;top:0px;left:0px;width:6px;height:6px;border:1px solid 
None.gif
None.gifblack;
" >
None.gif
< img id = " rect2 "  style = " position:absolute;top:0px;left:0px;width:6px;height:6px;border:1px solid 
None.gif
None.gifblack;
" >
None.gif
< img id = " rect3 "  style = " position:absolute;top:0px;left:0px;width:6px;height:6px;border:1px solid 
None.gif
None.gifblack;
" >
None.gif
< img id = " rect4 "  style = " position:absolute;top:0px;left:0px;width:6px;height:6px;border:1px solid 
None.gif
None.gifblack;
" >
None.gif
< img id = " rect5 "  style = " position:absolute;top:0px;left:0px;width:6px;height:6px;border:1px solid 
None.gif
None.gifblack;
" >
None.gif
< img id = " rect6 "  style = " position:absolute;top:0px;left:0px;width:6px;height:6px;border:1px solid 
None.gif
None.gifblack;
" >
None.gif
< img id = " rect7 "  style = " position:absolute;top:0px;left:0px;width:6px;height:6px;border:1px solid 
None.gif
None.gifblack;cursor:s-resize;
" >
None.gif
< img id = " rect8 "  style = " position:absolute;top:0px;left:0px;width:6px;height:6px;border:1px solid 
None.gif
None.gifblack;cursor:nw-resize
"  onmousedown = " rect_MouseDown(this); "  onmousemove = " rect_MouseMove(); "  
None.gif
None.gifonmouseup
= " rect_MouseUp(); " >
None.gif
None.gif

转载于:https://www.cnblogs.com/tory320/archive/2005/07/27/200849.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值