當(dāng)前位置:軟件學(xué)堂 > 資訊首頁 > 網(wǎng)絡(luò)編程 > 編程其他 > JS實現(xiàn)拖曳任意對象

JS實現(xiàn)拖曳任意對象

2012/11/12 13:02:53作者:佚名來源:網(wǎng)絡(luò)

移動端

【實例名稱】

JS實現(xiàn)拖曳任意對象

【實例描述】

網(wǎng)頁中可能經(jīng)常遇到需要拖曳div或table的情況。本例學(xué)習(xí)一種方法,可實現(xiàn)對任意對象的拖曳。

【實例代碼】

<html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>標(biāo)題頁-學(xué)無憂(www.denvermotorcycleaccidentlawyer.com)</title> <script LANGUAGE="JavaScript"> function DragEvent() {  //參數(shù)  //x,y 開始時的鼠標(biāo)在對象中的偏移位置  //DargFlag 0:拖曳停止 1:拖曳開始  this.x = 0;  this.y = 0;  this.DragFlag=0; } var DragObject  = new DragEvent();

function DragMoveObject(obj) {  if(event.button == 1)    //如果按下的是鼠標(biāo)左鍵  {   obj.style.position="absolute";  //設(shè)置對象為絕對定位模式   if(DragObject.DragFlag==0)   //拖曳開始   {     DragObject.DragFlag = 1;    DragObject.x = event.offsetX; //鼠標(biāo)的x坐標(biāo)    DragObject.y = event.offsetY; //鼠標(biāo)的y坐標(biāo)   }   obj.style.left = event.x-DragObject.x;  //保持鼠標(biāo)在對象中的位置不變   obj.style.top = event.y-DragObject.y;  }  else  {   DragObject.DragFlag = 0;  //拖曳停止  } } </script> </head> <body> <textarea cols="30" rows="5" onmousedown="DragMoveObject(this);" > </textarea><br /> <input type=button value="拖拽"  onmousedown="DragMoveObject(this);" /> <input id="Button1" type="button" value="button"onmousedown="DragMoveObject(this);"  /> </body> </html>

【運行效果】

 拖曳任意對象運行效果

【難點剖析】

本例的重點是捕獲鼠標(biāo)的移動坐標(biāo),然后設(shè)置指定標(biāo)簽的坐標(biāo)跟隨鼠標(biāo)的坐標(biāo)。判斷是否按下鼠標(biāo)使用的條件是“event.button==1”。

【源碼下載】

為了JS代碼的準(zhǔn)確性,請點擊:JS實現(xiàn)拖曳任意對象 進行本實例源碼下載 

標(biāo)簽: 對象  JS