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

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

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

移動端

【實例名稱】

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

【實例描述】

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

【實例代碼】

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

function DragMoveObject(obj) {  if(event.button == 1)    //如果按下的是鼠標左鍵  {   obj.style.position="absolute";  //設置對象為絕對定位模式   if(DragObject.DragFlag==0)   //拖曳開始   {     DragObject.DragFlag = 1;    DragObject.x = event.offsetX; //鼠標的x坐標    DragObject.y = event.offsetY; //鼠標的y坐標   }   obj.style.left = event.x-DragObject.x;  //保持鼠標在對象中的位置不變   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>

【運行效果】

 拖曳任意對象運行效果

【難點剖析】

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

【源碼下載】

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

標簽: 對象  JS