本文實例講述了JS實現的表頭列頭固定頁面功能。分享給大家供大家參考,具體如下:
這里的示例演示了一個table頁面,并固定表頭或者列頭,以達到excel凍結列的效果,主要使用的js的scrollTop,scrollLeft.
一.js中scrollTop及scrollLeft的使用說明
scrollTop指的是“元素中的內容”超出“元素上邊界”的那部分的高度。例如:外層元素的高度值是200px,內層元素的高度值是300px。很明顯,“外層元素中的內容”高過了“外層元素”本身.當向下拖動滾動條時,有部分內容會隱沒在“外層元素的上邊界”之外,scrollTop就等于這部分“不可見的內容”的高度。
scrollLeft同上.
二.頁面示例
頁面示例代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>表頭列頭固定 -- Sara</title> <style> body{font-size:12px;} .t_n{width:30px; heihgt:240px!important; height:242px; background:buttonface; float:left; border-bottom:1px solid #000; border-left:1px solid #000} .t_n span{display:block; text-align:center; line-height:20px; border:1px solid #000; width:28px; height:20px} .t_number{border-right:1px solid #000; width:100%; margin-bottom:5px} .t_number td{border-bottom:1px solid #000; width:30px; height:25px; text-align:center} .dd{height:200px!important; height:208px; overflow-y:hidden;} .t_i{width:400px; height:auto; float:left; border-right:1px solid #000; border-top:1px solid #000} .t_i_h{width:100%; overflow-x:hidden; background:buttonface;} .ee{width:618px!important; width:620px} .t_i_h table{width:600px;} .t_i_h table td{border-right:1px solid #000; border-bottom:1px solid #000; height:20px; text-align:center} .cc{width:100%; height:220px; border-bottom:1px solid #000; border-right:1px solid #000; background:#fff; overflow:auto;} .cc table{width:600px; } .cc table td{height:25px; border-bottom:1px solid #000; border-right:1px solid #000; text-align:center} </style> <script> function aa(){ var a=document.getElementById("cc").scrollTop; var b=document.getElementById("cc").scrollLeft; document.getElementById("dd").scrollTop=a; document.getElementById("hh").scrollLeft=b; } </script> </head> <body> <div class="t_n"> <span>序號</span> <div class="dd" id="dd"> <table cellpadding="0" cellspacing="0" border="0" class="t_number"> <tbody> <tr> <td>1</td> </tr> <tr> <td>2</td> </tr> <tr> <td>3</td> </tr> <tr> <td>4</td> </tr> <tr> <td>5</td> </tr> <tr> <td>6</td> </tr> <tr> <td>7</td> </tr> <tr> <td>8</td> </tr> <tr> <td>9</td> </tr> <tr> <td>10</td> </tr> </tbody> </table> </div> </div> <!--table--> <div class="t_i"> <div class="t_i_h" id="hh"> <div class="ee"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td width="10%">標題A</td> <td width="20%">標題B</td> <td width="10%">標題C</td> <td width="20%">標題D</td> <td width="20%">標題E</td> <td width="20%">標題F</td> </tr> </table> </div> </div> <div class="cc" id="cc" onscroll="aa()"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td width="10%">1</td> <td width="20%">1</td> <td width="10%">1</td> <td width="20%">1</td> <td width="20%">1</td> <td width="20%">1</td> </tr> <tr> <td>2</td> <td>2</td> <td>2</td> <td>2</td> <td>2</td> <td>2</td> </tr> <tr> <td>3</td> <td>3</td> <td>3</td> <td>3</td> <td>3</td> <td>3</td> </tr> <tr> <td>4</td> <td>4</td> <td>4</td> <td>4</td> <td>4</td> <td>4</td> </tr> <tr> <td>5</td> <td>5</td> <td>5</td> <td>5</td> <td>5</td> <td>5</td> </tr> <tr> <td>6</td> <td>6</td> <td>6</td> <td>6</td> <td>6</td> <td>6</td> </tr> <tr> <td>7</td> <td>7</td> <td>7</td> <td>7</td> <td>7</td> <td>7</td> </tr> <tr> <td>8</td> <td>8</td> <td>8</td> <td>8</td> <td>8</td> <td>8</td> </tr> <tr> <td>9</td> <td>9</td> <td>9</td> <td>9</td> <td>9</td> <td>9</td> </tr> <tr> <td>10</td> <td>10</td> <td>10</td> <td>10</td> <td>10</td> <td>10</td> </tr> </table> </div> </div> </body></html>
效果圖如下:
更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript操作DOM技巧總結》、《JavaScript表單(form)操作技巧大全》、《JavaScript數組操作技巧總結》、《JavaScript排序算法總結》、《JavaScript遍歷算法與技巧總結》、《JavaScript數學運算用法總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript查找算法技巧總結》及《JavaScript錯誤與調試技巧總結》
希望本文所述對大家JavaScript程序設計有所幫助。
新聞熱點
疑難解答