拖拽的实现

                                                              要实现拖拽元素必须调用四个函数
      A:onmouseover(作用:当鼠标移动到上面的时候,获得该元素,即把它赋给一个公共变量A,以便在鼠标放开的时候调用,每个要移动位置的元素都要调用)
      B:onmousedown(作用:当鼠标按下的时候,获得该元素赋给一个公共变量B,在鼠标移动的时候改变其位置和在鼠标放开的时候调用)
      C:onmousemove(作用:当鼠标移动的时候,改变公共变量B的位置)
      D:onmousedown(作用:当移动到另一个元素上面的时候,这时候会再次调用onmouseover,给公共变量A再次赋值,覆盖原来的值,这时候调用nsertBefore或者apendChild函数,交换公共变量A和公共变量B位置,这样就实现了拖拽,简单哦!呵呵)

 

<! doctype HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"  >
< html >
 
< head >
  
< title > DropLayer2 </ title >
  
< meta  name ="GENERATOR"  Content ="Microsoft Visual Studio .NET 7.1" >
  
< meta  name ="CODE_LANGUAGE"  Content ="C#" >
  
< meta  name ="vs_defaultClientScript"  content ="JavaScript" >
  
< meta  name ="vs_targetSchema"  content ="http://schemas.microsoft.com/intellisense/ie5" >
  
< style  type ="text/css" >
    div
 
{
  border-right
: lightgrey thin solid;
  border-top
: lightgrey thin solid;
  font-weight
: bold;
  z-index
: 2;
  text-transform
: capitalize;
  border-left
: lightgrey thin solid;
  color
: white;
  border-bottom
: lightgrey thin solid;
  background-color
: red;
 
}

  
</ style >
 
</ head >
 
< body >
  
< div  id ="parentDiv"  class ="parentCss"  style ="width:100" >
   
< div  class ="itemCss"  onmouseover ="InsertDiv(this)"  id  = "nine 1" > one 1 </ div >
   
< div  class ="itemCss"  onmouseover ="InsertDiv(this)"  id  = "nine 2" > two 2 </ div >
   
< div  class ="itemCss"  onmouseover ="InsertDiv(this)"  id  = "nine 3" > three 3 </ div >
   
< div  class ="itemCss"  onmouseover ="InsertDiv(this)"  id  = "nine 4" > four 4 </ div >
   
< div  class ="itemCss"  onmouseover ="InsertDiv(this)"  id  = "nine 5" > five 5 </ div >
   
< div  class ="itemCss"  onmouseover ="InsertDiv(this)"  id  = "nine 6" > six 6 </ div >
   
< div  class ="itemCss"  onmouseover ="InsertDiv(this)"  id  = "nine 7" > seven 7 </ div >
   
< div  class ="itemCss"  onmouseover ="InsertDiv(this)"  id  = "nine 8" > eight 8 </ div >
   
< div  class ="itemCss"  onmouseover ="InsertDiv(this)"  id  = "nine 9" > nine 9 </ div >
   
< div  class ="itemCss"  onmouseover ="InsertDiv(this)"  id  = "nine 10" > ten 10 </ div >
  
</ div >
  
< script  language ="javascript" >
<!-- 
 
var obj,obj2;  //引发事件对象
 var rootNode;     //控制对象根节点

 
var IsDrag=false;   //是否抓起
 
 
var NullDiv;  //空临时层
 
 
var x,y;   //鼠标与控件的相对坐标
 
 window.onload 
= Prepare; //窗体加载时委托到Prepare
  
 
function Prepare()
 
{
  
//生成临时层,并设置其属性
  NullDiv = document.createElement("div");
     
  
//获得控制对象的根节点元素
  rootNode = document.getElementById("parentDiv");
  
  document.onmousemove
=MoveIt; //当鼠标在文档上移动时事件委托到MoveIt
  
  document.onmousedown
=Drag;   //当鼠标按下时事件委托到Drag
  
  document.onmouseup
=Release;  //当鼠标释放台起时事件委托到Release
  
  
 }
 
  
 
function Drag()
 
{
 
  obj 
= event.srcElement;
  
  x
=0;//event.offsetX;
  y=0;//event.offsetY;
    
  obj.style.position
='absolute';
  
  obj.style.posTop
=event.y-y;
  obj.style.posLeft
=event.x-x;
    
  IsDrag
=true;
 }

 
 
function MoveIt()
 
{
  
//window.status = event.x+"|"+event.y+"|"+IsDrag+"|"+x+"|"+y;
  
  
if(IsDrag)
  
{
   obj.style.posTop
=event.y-y;
   obj.style.posLeft
=event.x-x;
  }

 }

 
 
function Release()
 
{
  IsDrag
=false;
  
  NullDiv.style.display
='none';
  
  obj.style.position
='';

  rootNode.insertBefore(obj,obj2);
 }

 
 
function InsertDiv(o)
 
{

  
if(IsDrag)
  

   obj2
=o;

   NullDiv.style.display
='';
   NullDiv.style.height
='18';
   NullDiv.style.width
='100';
   rootNode.appendChild(NullDiv,obj2);
  }

 }

 
//-->
  
</ script >
 
</ body >
</ html >

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值