js实现表格添加,删除行,并且表头固定的表格滚动
日期:2009年12月7日作者:kos
来自分类:JAVASCRIPT查看:(348)评论:(4)

  又有好久没写东西了,一直忙工作的事,最近又被一件事吸引住,也困惑住,就是表格滚动问题。要求是表格内容如果过多的话,表格要滚动,但只是表体内容动,而表头不动,效果要和Excel的一样,然后我在网上找了一些,要么觉得太烦,要么就根本达不到目的,最后又只得自己来写,今天终于算写好了,但还有一些小小的bug,而这些小bug一时半会我又解决不了,痛苦,先将就把这个能在普通情况下用得上的效果展示出来看一下吧

CODE
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

  实现这样的效果我的思路是用两个表格,第一个表格用着表头,这样两个独立的表格可以单独拿来做处理,比如只对第二个表格作滚动效果,而第二个表格也有表头,只是看不到而已,其实样式里面是可见的,只是位置变了而已,并且第二个表格的表头和第一个表格那一行一样,原因是以防挤压问题出现;在这之后,要对两个表格的每一列作处理,当然一般情况下,内容休表格的内容是不规整的,所以让表头来适应表体是个很好的选择,而这里只需要他去适应表体的第一行每一列就行了,因为下面的表格是一体的,就这样一个滚动的功能就出来了,为了加强效果展示,我对表格做了一个行添加效果,这个功能相信很多人都会写,就不做介绍了,不会的话可以把里面的 js 打开看看就明白了,提醒,你可以把浏览器窗口化,并且拉伸窗口看看效果,也许这个就是你想要的,目前已兼容几个主流浏览器,若朋友们发现有什么问题,请留言交流一下,把这个功能做完善!
  郁闷,真是笨,其实还有一点点小bug,这个想了半天,开始不知道为啥,最后发觉body的onResize()事件,是当浏览器窗口大小改变的时候就执行,不是在完成以后,所以当你窗口大小改变了时,js能获取的仍然是窗口改变前的值,但这个里面就要用到这个相关的取值问题,解决办法是,当窗口改变后,缓一点时间,然后再去获值,这样就不出问题了,很短的时间,短得基本上看不出破绽,问题就这样将就解决了
看下面的代码:

CODE
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

 

相关下载:
  js下载地址:tableopreat.js

网友评论:
共 4 条评论
  • lavenxun -- 2009/12/8 17:39:54

    哈哈,确实很强大,实用的东东

    kos - 2009/12/8 19:46:18

    看上面的第二个效果,你可以试着用不同浏览器打开看哈,没猜错应该是一样的了!

  • 小T -- 2009/12/7 22:32:28

    很骚很强大

    kos - 2009/12/7 22:35:00

    这么快就被你看到了,刚才才添加好!可惜问题还是存在的,有那么一像素的问题总是解决不了,痛苦!

  •  姓名(必填)
     邮箱(必填,但不公开)
     个人主页