人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

運用JS完成拖動表格行改變順序

運用JS完成拖動表格行改變順序

更新時間:2023-06-13 文章作者:未知 信息來源:網絡 閱讀次數:

編程(Programming)是編定程序的中文簡稱,就是讓計算機代碼解決某個問題,對某個計算體系規定一定的運算方式,使計算體系按照該計算方式運行,并最終得到相應結果的過程。為了使計算機能夠理解(understand)人的意圖,人類就必須將需解決的問題的思路、方法和手段通過計算機能夠理解的形式告訴計算機,使得計算機能夠根據人的指令一步一步去工作,完成某種特定的任務。這種人和計算體系之間交流的過程就是編程。

【實例名稱】

利用JS實現拖動表格行改變順序

【實例描述】

表格的行可以通過后臺命令實現互換,也可以讓用戶自己使用拖曳的方式完成互換操作。本例學習一個簡單的拖曳表格行操作。

【實例代碼】

<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>拖拽表格的行-本站(www.xue51.com)</title> <style type="text/css"> td{position:relative; } body {  margin-left: 1px;  margin-top: 1px;  margin-right: 1px;  margin-bottom: 1px; } </style> </head>

<body style="margin-left:0px; margin-top:0px;">

<table width="301" border="1" bordercolor="#CCCCCC" id="dragTbl"> <tr>     <td width="73">序號</td>     <td width="52">姓名</td>     <td width="65">年齡</td>     <td width="83">地址</td> </tr> <tr>     <td width="73">1</td>     <td width="52">張三</td>     <td width="65">22</td>     <td width="83">北京海淀</td> </tr>   <tr>     <td >2</td>     <td>王五</td>     <td>24</td>     <td>上海浦東</td>   </tr>   <tr>     <td>3</td>     <td>朝氣</td>     <td>24</td>     <td>廣州深圳</td>   </tr> </table> <script language="javascript" > var obj; var xx=0,yy=0; var tagobj; var dragobj; function draginit(){  var tblRows = document.getElementsByTagName("TR");                //獲取所有的表格行  for(var i=0;i<tblRows.length;i++){                                //遍歷每一行   if((tblRows[i].parentNode.parentNode.id).toString().indexOf("drag")!=-1){    tblRows[i].onmousedown=mousedown;         //綁定所有的鼠標事件    tblRows[i].ondragover=dragover;    tblRows[i].ondragend=dragend;    tblRows[i].ondrag=dragmove;    tblRows[i].style.position="relative";    tblRows[i].style.zIndex=1;   }  } } function mousedown(){                           //鼠標按下時的處理  obj = event.srcElement;  if(obj.tagName=="TD") obj=obj.parentNode;           //如果是單元格  if(obj.tagName!="TR") return false;                 //如果是單元行  if(obj.rowIndex==0) return false;                   //如果是標題  yy=event.clientY;                                   //鼠標的x坐標和y坐標   xx=event.clientX;  obj.style.zIndex=0;  try{   obj.dragDrop();   }catch(e){  } } function dragmove(){                //表格拖拽移動時的位置獲取  obj.style.top = event.clientY-yy;   obj.style.left = event.clientX-xx; } function dragover(){                //鼠標拖動時的操作  tagobj=event.srcElement;  if(tagobj.tagName=="TD"){tagobj=tagobj.parentNode;}//如果是單元格  if(tagobj.tagName!="TR")return false;              //如果是單元行 } function dragend(){                                     //拖拽完畢后的處理-高度,寬度等  obj.style.top=0;  obj.style.left=0;  obj.style.zIndex=1;  if(tagobj!=null && tagobj.rowIndex!=0){   var t1=dragTbl.rows[obj.rowIndex];   var t2=dragTbl.rows[tagobj.rowIndex];   dragTbl.getElementsByTagName('tbody')[0].insertBefore(obj,tagobj);//實現表格單元行的互換   tagobj.style.zIndex=1;  }

 tagobj=null; } draginit();                                 //初始化拖拽操作 </script> </body> </html>

 

【運行效果】

 拖動表格行改變順序運行效果

【難點剖析】

本例的重點是為表格綁定的事件,其中每個事件都對應一個自定義的方法。難點是根據鼠標的坐標改變表格行的位置。最終實現互換的原理是使用“iIlsercBefore”方法將兩個行的位置互換。

【源碼下載】

為了JS代碼的準確性,請點擊:利用JS實現拖動表格行改變順序 進行本實例源碼下載 


使用編程語言寫的程序,由于每條指令都對應計算機一個特定的基本動作,所以程序占用內存少、執行效率高。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 赤壁市| 鄂尔多斯市| 霍林郭勒市| 横峰县| 珲春市| 张家界市| 会泽县| 东乌| 固原市| 榆林市| 乾安县| 平谷区| 小金县| 文成县| 纳雍县| 孝义市| 仁寿县| 忻州市| 汉源县| 蚌埠市| 岳池县| 英吉沙县| 菏泽市| 南江县| 信宜市| 连山| 康保县| 抚宁县| 镇宁| 托里县| 子长县| 兴隆县| 大荔县| 三门峡市| 湘潭市| 绥棱县| 黄陵县| 文成县| 东阳市| 黄龙县| 福清市|