0

0

[转] js实现html table 行,列锁定_html/css_WEB-ITnose

php中文网

php中文网

发布时间:2016-06-24 11:45:11

|

1267人浏览过

|

来源于php中文网

原创

js实现html table 表头,指定列锁定

实现效果如下:

感兴趣的朋友可以直接复制出来运行看效果。

凡科AI抠图
凡科AI抠图

简单好用的在线抠图工具

下载

  1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  2 <html xmlns="http://www.w3.org/1999/xhtml">  3 <head>  4     <title>new document</title>  5     <script type="text/javascript"  6             src="http://code.jquery.com/jquery-1.6.1.min.js"></script>  7       8     <script type="text/javascript">  9         function FixTable(TableID, FixColumnNumber, width, height) { 10             /// <summary> 11             ///     锁定表头和列 12             ///     <para> sorex.cnblogs.com </para> 13             /// </summary> 14             /// <param name="TableID" type="String"> 15             ///     要锁定的Table的ID 16             /// </param> 17             /// <param name="FixColumnNumber" type="Number"> 18             ///     要锁定列的个数 19             /// </param> 20             /// <param name="width" type="Number"> 21             ///     显示的宽度 22             /// </param> 23             /// <param name="height" type="Number"> 24             ///     显示的高度 25             /// </param> 26             if ($("#" + TableID + "_tableLayout").length != 0) { 27                 $("#" + TableID + "_tableLayout").before($("#" + TableID)); 28                 $("#" + TableID + "_tableLayout").empty(); 29             } 30             else { 31                 $("#" + TableID).after("<div id='" + TableID + "_tableLayout' style='overflow:hidden;height:" + height + "px; width:" + width + "px;'></div>"); 32             } 33             $('<div id="' + TableID + '_tableFix"></div>' 34             + '<div id="' + TableID + '_tableHead"></div>' 35             + '<div id="' + TableID + '_tableColumn"></div>' 36             + '<div id="' + TableID + '_tableData"></div>').appendTo("#" + TableID + "_tableLayout"); 37             var oldtable = $("#" + TableID); 38             var tableFixClone = oldtable.clone(true); 39             tableFixClone.attr("id", TableID + "_tableFixClone"); 40             $("#" + TableID + "_tableFix").append(tableFixClone); 41             var tableHeadClone = oldtable.clone(true); 42             tableHeadClone.attr("id", TableID + "_tableHeadClone"); 43             $("#" + TableID + "_tableHead").append(tableHeadClone); 44             var tableColumnClone = oldtable.clone(true); 45             tableColumnClone.attr("id", TableID + "_tableColumnClone"); 46             $("#" + TableID + "_tableColumn").append(tableColumnClone); 47             $("#" + TableID + "_tableData").append(oldtable); 48             $("#" + TableID + "_tableLayout table").each(function () { 49                 $(this).css("margin", "0"); 50             }); 51             var HeadHeight = $("#" + TableID + "_tableHead thead").height(); 52             HeadHeight += 2; 53             $("#" + TableID + "_tableHead").css("height", HeadHeight); 54             $("#" + TableID + "_tableFix").css("height", HeadHeight); 55             var ColumnsWidth = 0; 56             var ColumnsNumber = 0; 57             $("#" + TableID + "_tableColumn tr:last td:lt(" + FixColumnNumber + ")").each(function () { 58                 ColumnsWidth += $(this).outerWidth(true); 59                 ColumnsNumber++; 60             }); 61             ColumnsWidth += 2; 62             if ($.browser.msie) { 63                 switch ($.browser.version) { 64                     case "7.0": 65                         if (ColumnsNumber >= 3) ColumnsWidth--; 66                         break; 67                     case "8.0": 68                         if (ColumnsNumber >= 2) ColumnsWidth--; 69                         break; 70                 } 71             } 72             $("#" + TableID + "_tableColumn").css("width", ColumnsWidth); 73             $("#" + TableID + "_tableFix").css("width", ColumnsWidth); 74             $("#" + TableID + "_tableData").scroll(function () { 75                 $("#" + TableID + "_tableHead").scrollLeft($("#" + TableID + "_tableData").scrollLeft()); 76                 $("#" + TableID + "_tableColumn").scrollTop($("#" + TableID + "_tableData").scrollTop()); 77             }); 78             $("#" + TableID + "_tableFix").css({ "overflow": "hidden", "position": "relative", "z-index": "50", "background-color": "Silver" }); 79             $("#" + TableID + "_tableHead").css({ "overflow": "hidden", "width": width - 17, "position": "relative", "z-index": "45", "background-color": "Silver" }); 80             $("#" + TableID + "_tableColumn").css({ "overflow": "hidden", "height": height - 17, "position": "relative", "z-index": "40", "background-color": "Silver" }); 81             $("#" + TableID + "_tableData").css({ "overflow": "scroll", "width": width, "height": height, "position": "relative", "z-index": "35" }); 82             if ($("#" + TableID + "_tableHead").width() > $("#" + TableID + "_tableFix table").width()) { 83                 $("#" + TableID + "_tableHead").css("width", $("#" + TableID + "_tableFix table").width()); 84                 $("#" + TableID + "_tableData").css("width", $("#" + TableID + "_tableFix table").width() + 17); 85             } 86             if ($("#" + TableID + "_tableColumn").height() > $("#" + TableID + "_tableColumn table").height()) { 87                 $("#" + TableID + "_tableColumn").css("height", $("#" + TableID + "_tableColumn table").height()); 88                 $("#" + TableID + "_tableData").css("height", $("#" + TableID + "_tableColumn table").height() + 17); 89             } 90             $("#" + TableID + "_tableFix").offset($("#" + TableID + "_tableLayout").offset()); 91             $("#" + TableID + "_tableHead").offset($("#" + TableID + "_tableLayout").offset()); 92             $("#" + TableID + "_tableColumn").offset($("#" + TableID + "_tableLayout").offset()); 93             $("#" + TableID + "_tableData").offset($("#" + TableID + "_tableLayout").offset()); 94         } 95 $(document).ready(function () { 96             FixTable("MyTable", 1, 600, 400); 97         }); 98     </script> 99 </head>100 <body>101     <table style="border-bottom-color: black; border-top-color: black; width: 1000px; color: #000000; border-right-color: black; font-size: medium; border-left-color: black"102            id="MyTable" border="1" cellspacing="0" cellpadding="0">103         <thead>104             <tr>105                 <th style="text-align: center; width: 80px" rowspan="3">姓名</th>106                 <th style="text-align: center; width: 80px" rowspan="3">班级</th>107                 <th style="text-align: center" colspan="10">成绩</th>108             </tr>109             <tr>110                 <th style="text-align: center" colspan="3">主科</th>111                 <th style="text-align: center" colspan="3">文科</th>112                 <th style="text-align: center" colspan="3">理科</th>113                 <th style="text-align: center; width: 80px" rowspan="2">总分</th>114             </tr>115             <tr>116                 <th style="text-align: center; width: 80px">语文</th>117                 <th style="text-align: center; width: 80px">数学</th>118                 <th style="text-align: center; width: 80px">英语</th>119                 <th style="text-align: center; width: 80px">政治</th>120                 <th style="text-align: center; width: 80px">历史</th>121                 <th style="text-align: center; width: 80px">地理</th>122                 <th style="text-align: center; width: 80px">物理</th>123                 <th style="text-align: center; width: 80px">化学</th>124124                 <th style="text-align: center; width: 80px">生物</th>125             </tr>126             <!--127                  <tr>128                  <th style="width: 80px; text-align: center;" _mce_style="width: 80px; text-align: center;">129                                      姓名130                                  </th>131                                  <th style="width: 80px; text-align: center;" _mce_style="width: 80px; text-align: center;">132                                      班级133                                  </th>134                                  <th style="width: 80px; text-align: center;" _mce_style="width: 80px; text-align: center;">135                                      语文136                                  </th>137                                  <th style="width: 80px; text-align: center;" _mce_style="width: 80px; text-align: center;">138                                      数学139                                  </th>140                                  <th style="width: 80px; text-align: center;" _mce_style="width: 80px; text-align: center;">141                                      英语142                                  </th>143                                  <th style="width: 80px; text-align: center;" _mce_style="width: 80px; text-align: center;">144                                      政治145                                  </th>146                                  <th style="width: 80px; text-align: center;" _mce_style="width: 80px; text-align: center;">147                                      历史148                                  </th>149                                  <th style="width: 80px; text-align: center;" _mce_style="width: 80px; text-align: center;">150                                      地理151                                  </th>152                                  <th style="width: 80px; text-align: center;" _mce_style="width: 80px; text-align: center;">153                                      物理154                                  </th>155                                  <th style="width: 80px; text-align: center;" _mce_style="width: 80px; text-align: center;">156                                      化学157                                  </th>158                                  <th style="width: 80px; text-align: center;" _mce_style="width: 80px; text-align: center;">159                                      生物160                                  </th>161                                  <th style="width: 80px; text-align: center;" _mce_style="width: 80px; text-align: center;">162                                      总分163                                  </th>164 165                  </tr>166              -->167         </thead>168         <tbody>169             <!-- 数据行 -->170             <tr>171                 <td>学生32</td>172                 <td>班级1</td>173                 <td>29</td>174                 <td>25</td>175                 <td>146</td>176                 <td>28</td>177                 <td>79</td>178                 <td>73</td>179                 <td>47</td>180                 <td>8</td>181                 <td>91</td>182                 <td>526</td>183             </tr>184             <tr>185                 <td>学生32</td>186                 <td>班级1</td>187                 <td>29</td>188                 <td>25</td>189                 <td>146</td>190                 <td>28</td>191                 <td>79</td>192                 <td>73</td>193                 <td>47</td>194                 <td>8</td>195                 <td>91</td>196                 <td>526</td>197             </tr>198             <tr>199                 <td>学生32</td>200                 <td>班级1</td>201                 <td>29</td>202                 <td>25</td>203                 <td>146</td>204                 <td>28</td>205                 <td>79</td>206                 <td>73</td>207                 <td>47</td>208                 <td>8</td>209                 <td>91</td>210                 <td>526</td>211             </tr>212             <tr>213                 <td>学生32</td>214                 <td>班级1</td>215                 <td>29</td>216                 <td>25</td>217                 <td>146</td>218                 <td>28</td>219                 <td>79</td>220                 <td>73</td>221                 <td>47</td>222                 <td>8</td>223                 <td>91</td>224                 <td>526</td>225             </tr>226             <tr>227                 <td>学生32</td>228                 <td>班级1</td>229                 <td>29</td>230                 <td>25</td>231                 <td>146</td>232                 <td>28</td>233                 <td>79</td>234                 <td>73</td>235                 <td>47</td>236                 <td>8</td>237                 <td>91</td>238                 <td>526</td>239             </tr>240             <tr>241                 <td>学生32</td>242                 <td>班级1</td>243                 <td>29</td>244                 <td>25</td>245                 <td>146</td>246                 <td>28</td>247                 <td>79</td>248                 <td>73</td>249                 <td>47</td>250                 <td>8</td>251                 <td>91</td>252                 <td>526</td>253             </tr>254             <tr>255                 <td>学生32</td>256                 <td>班级1</td>257                 <td>29</td>258                 <td>25</td>259                 <td>146</td>260                 <td>28</td>261                 <td>79</td>262                 <td>73</td>263                 <td>47</td>264                 <td>8</td>265                 <td>91</td>266                 <td>526</td>267             </tr>268             <tr>269                 <td>学生32</td>270                 <td>班级1</td>271                 <td>29</td>272                 <td>25</td>273                 <td>146</td>274                 <td>28</td>275                 <td>79</td>276                 <td>73</td>277                 <td>47</td>278                 <td>8</td>279                 <td>91</td>280                 <td>526</td>281             </tr>282             <tr>283                 <td>学生32</td>284                 <td>班级1</td>285                 <td>29</td>286                 <td>25</td>287                 <td>146</td>288                 <td>28</td>289                 <td>79</td>290                 <td>73</td>291                 <td>47</td>292                 <td>8</td>293                 <td>91</td>294                 <td>526</td>295             </tr>296             <tr>297                 <td>学生32</td>298                 <td>班级1</td>299                 <td>29</td>300                 <td>25</td>301                 <td>146</td>302                 <td>28</td>303                 <td>79</td>304                 <td>73</td>305                 <td>47</td>306                 <td>8</td>307                 <td>91</td>308                 <td>526</td>309             </tr>310             <tr>311                 <td>学生32</td>312                 <td>班级1</td>313                 <td>29</td>314                 <td>25</td>315                 <td>146</td>316                 <td>28</td>317                 <td>79</td>318                 <td>73</td>319                 <td>47</td>320                 <td>8</td>321                 <td>91</td>322                 <td>526</td>323             </tr>324             <tr>325                 <td>学生32</td>326                 <td>班级1</td>327                 <td>29</td>328                 <td>25</td>329                 <td>146</td>330                 <td>28</td>331                 <td>79</td>332                 <td>73</td>333                 <td>47</td>334                 <td>8</td>335                 <td>91</td>336                 <td>526</td>337             </tr>338             <tr>339                 <td>学生32</td>340                 <td>班级1</td>341                 <td>29</td>342                 <td>25</td>343                 <td>146</td>344                 <td>28</td>345                 <td>79</td>346                 <td>73</td>347                 <td>47</td>348                 <td>8</td>349                 <td>91</td>350                 <td>526</td>351             </tr>352             <tr>353                 <td>学生32</td>354                 <td>班级1</td>355                 <td>29</td>356                 <td>25</td>357                 <td>146</td>358                 <td>28</td>359                 <td>79</td>360                 <td>73</td>361                 <td>47</td>362                 <td>8</td>363                 <td>91</td>364                 <td>526</td>365             </tr>366             <tr>367                 <td>学生32</td>368                 <td>班级1</td>369                 <td>29</td>370                 <td>25</td>371                 <td>146</td>372                 <td>28</td>373                 <td>79</td>374                 <td>73</td>375                 <td>47</td>376                 <td>8</td>377                 <td>91</td>378                 <td>526</td>379             </tr>380             <tr>381                 <td>学生32</td>382                 <td>班级1</td>383                 <td>29</td>384                 <td>25</td>385                 <td>146</td>386                 <td>28</td>387                 <td>79</td>388                 <td>73</td>389                 <td>47</td>390                 <td>8</td>391                 <td>91</td>392                 <td>526</td>393             </tr>394         </tbody>395     </table>396 </body>397 </html>

 

立即学习前端免费学习笔记(深入)”;

相关文章

HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

616

2026.02.13

微博网页版主页入口与登录指南_官方网页端快速访问方法
微博网页版主页入口与登录指南_官方网页端快速访问方法

本专题系统整理微博网页版官方入口及网页端登录方式,涵盖首页直达地址、账号登录流程与常见访问问题说明,帮助用户快速找到微博官网主页,实现便捷、安全的网页端登录与内容浏览体验。

194

2026.02.13

Flutter跨平台开发与状态管理实战
Flutter跨平台开发与状态管理实战

本专题围绕Flutter框架展开,系统讲解跨平台UI构建原理与状态管理方案。内容涵盖Widget生命周期、路由管理、Provider与Bloc状态管理模式、网络请求封装及性能优化技巧。通过实战项目演示,帮助开发者构建流畅、可维护的跨平台移动应用。

91

2026.02.13

TypeScript工程化开发与Vite构建优化实践
TypeScript工程化开发与Vite构建优化实践

本专题面向前端开发者,深入讲解 TypeScript 类型系统与大型项目结构设计方法,并结合 Vite 构建工具优化前端工程化流程。内容包括模块化设计、类型声明管理、代码分割、热更新原理以及构建性能调优。通过完整项目示例,帮助开发者提升代码可维护性与开发效率。

20

2026.02.13

Redis高可用架构与分布式缓存实战
Redis高可用架构与分布式缓存实战

本专题围绕 Redis 在高并发系统中的应用展开,系统讲解主从复制、哨兵机制、Cluster 集群模式及数据分片原理。内容涵盖缓存穿透与雪崩解决方案、分布式锁实现、热点数据优化及持久化策略。通过真实业务场景演示,帮助开发者构建高可用、可扩展的分布式缓存系统。

54

2026.02.13

c语言 数据类型
c语言 数据类型

本专题整合了c语言数据类型相关内容,阅读专题下面的文章了解更多详细内容。

29

2026.02.12

雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法
雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法

本专题系统整理雨课堂网页版官方入口及在线登录方式,涵盖账号登录流程、官方直连入口及平台访问方法说明,帮助师生用户快速进入雨课堂在线教学平台,实现便捷、高效的课程学习与教学管理体验。

15

2026.02.12

豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法
豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法

本专题汇总豆包AI官方网页版入口及在线使用方式,涵盖智能写作工具、图片生成体验入口和官网登录方法,帮助用户快速直达豆包AI平台,高效完成文本创作与AI生图任务,实现便捷智能创作体验。

598

2026.02.12

PostgreSQL性能优化与索引调优实战
PostgreSQL性能优化与索引调优实战

本专题面向后端开发与数据库工程师,深入讲解 PostgreSQL 查询优化原理与索引机制。内容包括执行计划分析、常见索引类型对比、慢查询优化策略、事务隔离级别以及高并发场景下的性能调优技巧。通过实战案例解析,帮助开发者提升数据库响应速度与系统稳定性。

56

2026.02.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
进程与SOCKET
进程与SOCKET

共6课时 | 0.4万人学习

前端基础进阶-移动Web
前端基础进阶-移动Web

共187课时 | 23.1万人学习

AJAX入门教程
AJAX入门教程

共6课时 | 1.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号