日期:2014-05-16  浏览次数:20419 次

分享一个基于jQuery的锁定行列。最后一步了遇到一个小问题,希望大家帮忙。

网上有一些锁定行列,是采用了css的方式,似乎调用的时候有一点点复杂。

我是想弄一个调用简单的,只需要调用一个js函数即可,其他的不用做什么修改。

于是弄了一个,js比较烂,所以借用了一下jQuery。

基本功能和想法都实现了,只是遇到了一个小问题。

========

我的这个锁定行列的优点
1、调用简单,只需要调用一个js函数即可。
2、效率比较高。
3、支持属性、js事件等 
4、支持大表格(还未做测试)。


只需要在要锁定的table外面加一个div,
然后在body的 onload 调用一下就可以了。<body onload="myScroll('div_Main','tbl_Main',1,1)">

第一个参数是table外面的div的ID
第二个参数是要锁定的table的ID
第三个是要锁定的行数
第四个是要锁定的列数


========

基本思路
动态创建三个div,在三个div里在动态创建三个table,根据要锁定的table,来设置这三个table。

第一个table,存放锁定的行,第二个存放要锁定的列,第三个存放锁定的行列的重叠的部分。

最后把这三个div放在相应的位置(就是table的上面),这样就可以实现锁定的效果了。

========

遇到的问题

大家都注意看了,这个很重要。

动态创建的div和table,要设置他们的宽度和高度,但是发现设置table的宽高的时候并不准确。

比如我要设置table的高度是300,但是设置完毕之后再读取高度,变成了302。

更郁闷的是设置td的高度的时候,这个误差就更大了。



http://www.naturefw.com/demo/scroll.aspx

这是测试的地址,js代码都在页面里。请大家帮帮忙。






------解决方案--------------------
没人啊 沙发。多谢LZ分享。问题现在打不开 晚上在看
------解决方案--------------------
有点不知所云
难道是我浏览器问题吗
------解决方案--------------------
我刚自己找了些jQuery的资料自己研究的了,还不会,顺便收藏起来学学...谢谢LZ哦
------解决方案--------------------
多谢楼主分享

接分
------解决方案--------------------
不是很明白,希望楼主指点指点