JS实现的表头列头固定页面功能示例


Posted in Javascript onJanuary 10, 2017

本文实例讲述了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>

效果图如下:

JS实现的表头列头固定页面功能示例

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
javascript小组件 原生table排序表格脚本(兼容ie firefox opera chrome)
Jul 25 Javascript
jQuery支持动态参数将函数绑定到事件上的方法
Mar 17 Javascript
详解vue.js组件化开发实践
Dec 14 Javascript
详解Angualr 组件间通信
Jan 21 Javascript
Vue关于数据绑定出错解决办法
May 15 Javascript
jQuery获取table表中的td标签(实例讲解)
Jul 28 jQuery
微信小程序基于slider组件动态修改标签透明度的方法示例
Dec 04 Javascript
JQuery实现table中tr上移下移的示例(超简单)
Jan 08 jQuery
微信小程序webview组件交互,内联h5页面并网页实现微信支付实现解析
Aug 16 Javascript
webpack3升级到webpack4遇到问题总结
Sep 30 Javascript
node.js实现简单的压缩/解压缩功能示例
Nov 05 Javascript
Vue数字输入框组件使用方法详解
Feb 10 Javascript
VUE JS 使用组件实现双向绑定的示例代码
Jan 10 #Javascript
微信小程序 地图map详解及简单实例
Jan 10 #Javascript
jQuery操作复选框(CheckBox)的取值赋值实现代码
Jan 10 #Javascript
jQuery UI仿淘宝搜索下拉列表功能
Jan 10 #Javascript
jquery 正整数数字校验正则表达式
Jan 10 #Javascript
Angular的$http的ajax的请求操作(推荐)
Jan 10 #Javascript
JS遍历对象属性的方法示例
Jan 10 #Javascript
You might like
追求程序速度,而不是编程的速度
2008/04/23 PHP
php中将数组存到文件里的实现代码
2012/01/19 PHP
PHP 登录完成后如何跳转上一访问页面
2014/01/14 PHP
百度实时推送api接口应用示例
2014/10/21 PHP
PHP中mysqli_affected_rows作用行数返回值分析
2014/12/26 PHP
MSN消息提示类
2006/09/05 Javascript
基于jQuery试卷自动排版系统
2010/07/18 Javascript
全面理解面向对象的 JavaScript(来自ibm)
2013/11/10 Javascript
jquery全选checkBox功能实现代码(取消全选功能)
2013/12/10 Javascript
JQuery拖动表头边框线调整表格列宽效果代码
2014/09/10 Javascript
jQuery中;function($,undefined) 前面的分号的用处
2014/12/17 Javascript
百度UEditor编辑器如何关闭抓取远程图片功能
2015/03/03 Javascript
node.js [superAgent] 请求使用示例
2015/03/13 Javascript
在JavaScript中操作数组之map()方法的使用
2015/06/09 Javascript
超实用的JavaScript表单代码段
2016/02/26 Javascript
Jquery插件仿百度搜索关键字自动匹配功能
2016/05/11 Javascript
概述javascript在Google IE中的调试技巧
2016/11/24 Javascript
JavaScript之生成器_动力节点Java学院整理
2017/06/30 Javascript
详解react-webpack2-热模块替换[HMR]
2017/08/03 Javascript
详解小程序退出页面时清除定时器
2019/04/28 Javascript
JavaScript 判断浏览器是否是IE
2021/02/19 Javascript
Python Trie树实现字典排序
2014/03/28 Python
浅谈Python中的数据类型
2015/05/05 Python
Python操作串口的方法
2015/06/17 Python
Python编程中对super函数的正确理解和用法解析
2016/07/02 Python
Python常见加密模块用法分析【MD5,sha,crypt模块】
2017/05/24 Python
通过pycharm使用git的步骤(图文详解)
2019/06/13 Python
python程序快速缩进多行代码方法总结
2019/06/23 Python
ivx平台开发之不用代码实现一个九宫格抽奖功能
2021/01/27 HTML / CSS
汽车专业毕业生推荐信
2013/11/12 职场文书
交通事故协议书范文
2014/04/16 职场文书
四风问题查摆材料
2014/08/25 职场文书
2014幼儿园保育员工作总结
2014/11/10 职场文书
优秀班集体申报材料
2014/12/25 职场文书
证券公司客户经理岗位职责
2015/04/09 职场文书
2019年大学生学年自我鉴定!
2019/03/25 职场文书