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

JS代碼完成動態拖放表格的寬度

JS代碼完成動態拖放表格的寬度

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

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

【實例名稱】

JS代碼實現動態拖放表格的寬度

【實例描述】

表格的寬度一般在頁面設計時被靜態指定:本例學習如何在頁面運行時,動態改變表格的寬度。

【實例代碼】

<html> <head> <title>Untitled Document-本站(www.xue51.com)</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <script language="javascript"> var dragenable=false; var x; var y; var w; var h; var obj; function init() {     x=event.clientX+document.body.scrollLeft;  //獲取x坐標     obj=event.srcElement;                      //獲取鼠標觸發的元素     w=event.srcElement.offsetWidth;            //對象的寬度     obj.setCapture();                          //接受鼠標消息     if(x>event.srcElement.offsetLeft+w-5 && x<event.srcElement.offsetLeft+w) { //鼠標移動到對象邊界時     dragenable=true;obj.style.cursor='e-resize';} //改變鼠標的樣式-左右拖動型 } function drag() {  if(event.clientX+document.body.scrollLeft>event. srcElement.offsetLeft+event.srcElement.offsetWidth-5 && event.clientX+document.body.scrollLeft<event. srcElement.offsetLeft+event.srcElement.offsetWidth)   {event.srcElement.style.cursor='e-resize';} //改變鼠標的樣式-左右拖動型  else    event.srcElement.style.cursor='default'; //改變鼠標的樣式-默認型     if(dragenable==true) {  if(event.clientX+document.body.scrollLeft-x+w>0) {  var i=obj.cellIndex;  var j;  for(j=0;j<obj.parentNode.parentNode.rows.length;j++) {  //更改表格的寬度   obj.parentNode.parentNode.rows[j].cells[i].width= event.clientX+document.body.scrollLeft-x+w;   }  }  else {   var i=obj.cellIndex;   var j;   for(j=0;j<obj.parentNode.parentNode.rows.length;j++) {    obj.parentNode.parentNode.rows[j].cells[i].width=1; //最小也要保持寬度為1    }   }  } } function end()                           //結束更改 {     dragenable=false;     obj.releaseCapture();                //釋放鼠標的捕獲     obj.style.cursor='default';          //更改鼠標的樣式為默認 } </script> </head> <body bgcolor="#FFFFFF" text="#000000" leftmargin=0 topmargin=0> 表格寬度設置為百分比顯示 <br> <table width="60%" border="1" cellpadding="0" cellspacing="2" onmousedown=init() onmouseup=end() onmousemove=drag() id=table1 style="table-layout:fixed">   <tr>     <td height="18" align="top">&nbsp;</td>     <td align="top">&nbsp;</td>     <td align="top">&nbsp;</td>     <td align="top">&nbsp;</td>   </tr>   <tr>     <td height="18" align="top">&nbsp;</td>     <td align="top">&nbsp;</td>     <td align="top">&nbsp;</td>     <td align="top">&nbsp;</td>   </tr>   <tr>     <td height="18" align="top">&nbsp;</td>     <td align="top">&nbsp;</td>     <td align="top">&nbsp;</td>     <td align="top">&nbsp;</td>   </tr>   <tr>     <td height="18" align="top">&nbsp;</td>     <td align="top">&nbsp;</td>     <td align="top">&nbsp;</td>     <td align="top">&nbsp;</td>   </tr> </table> </body> </html>

【運行效果】

運行效果

【難點剖析】

本例的重點其實是鼠標坐標的獲取。代碼中使用_“event.srcElement”獲取鼠標操作的對象,然后使用“offsetWidth”獲取該對象的寬度。當鼠標移動到表格邊界時,再動態改變鼠標的樣式。

【源碼下載】

如果你不愿復制代碼及提高代碼準確性,你可以點擊:動態拖放表格的寬度 進行本實例源碼下載 


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

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

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
亚洲嫩草影院久久精品