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

该博客为转载内容,转载自https://www.cnblogs.com/tory320/archive/2005/07/27/200849.html ,涉及JavaScript相关知识。
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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值