TableLock插件

html部分


<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>TableLock插件</title>    <link rel="stylesheet" href="TableLock.css">    <script src="jquery-1.12.4.min.js"></script>    <script src="TableLock.js"></script>    <script>        $(function(){            $.fn.TableLock({                table:"lockTable",                lockRow:4,                lockColumn:4,                width:"50%",                height:"200px"            });        });    </script></head><body><table id="lockTable" width="800" border="0">    <tr>        <td width="100" align="center">第一列</td>        <td width="100" align="center">第二列</td>        <td width="100" align="center">第三列</td>        <td width="100" align="center">第四列</td>        <td width="100" align="center">第五列</td>        <td width="100" align="center">第六列</td>        <td width="100" align="center">第七列</td>        <td width="100" align="center">第八列</td>        <td width="100" align="center">第九列</td>        <td width="100" align="center">第十列</td>    </tr>    <tr>        <td align="center">1-2</td>        <td align="center">2-2</td>        <td align="center">3-2</td>        <td align="center">4-2</td>        <td align="center">5-2</td>        <td align="center">6-2</td>        <td align="center">7-2</td>        <td align="center">8-2</td>        <td align="center">9-2</td>        <td align="center">10-2</td>    </tr>    <tr>        <td align="center">1-3</td>        <td align="center">2-3</td>        <td align="center">3-3</td>        <td align="center">4-3</td>        <td align="center">5-3</td>        <td align="center">6-3</td>        <td align="center">7-3</td>        <td align="center">8-3</td>      <td align="center">9-3</td>      <td align="center">10-3</td>    </tr>    <tr>        <td align="center">1-4</td>        <td align="center">2-4</td>        <td align="center">3-4</td>        <td align="center">4-4</td>        <td align="center">5-4</td>        <td align="center">6-4</td>        <td align="center">7-4</td>        <td align="center">8-4</td>      <td align="center">9-4</td>      <td align="center">10-4</td>    </tr>    <tr>        <td align="center">1-5</td>        <td align="center">2-5</td>        <td align="center">3-5</td>        <td align="center">4-5</td>        <td align="center">5-5</td>        <td align="center">6-5</td>        <td align="center">7-5</td>        <td align="center">8-5</td>      <td align="center">9-5</td>      <td align="center">10-5</td>    </tr>    <tr>        <td align="center">1-6</td>        <td align="center">2-6</td>        <td align="center">3-6</td>        <td align="center">4-6</td>        <td align="center">5-6</td>        <td align="center">6-6</td>        <td align="center">7-6</td>        <td align="center">8-6</td>      <td align="center">9-6</td>      <td align="center">10-6</td>    </tr>    <tr>        <td align="center">1-7</td>        <td align="center">2-7</td>        <td align="center">3-7</td>        <td align="center">4-7</td>        <td align="center">5-7</td>        <td align="center">6-7</td>        <td align="center">7-7</td>        <td align="center">8-7</td>      <td align="center">9-7</td>      <td align="center">10-7</td>    </tr>    <tr>        <td align="center">1-8</td>        <td align="center">2-8</td>        <td align="center">3-8</td>        <td align="center">4-8</td>        <td align="center">5-8</td>        <td align="center">6-8</td>        <td align="center">7-8</td>        <td align="center">8-8</td>      <td align="center">9-8</td>      <td align="center">10-8</td>    </tr>    <tr>        <td align="center">1-9</td>        <td align="center">2-9</td>        <td align="center">3-9</td>        <td align="center">4-9</td>        <td align="center">5-9</td>        <td align="center">6-9</td>        <td align="center">7-9</td>        <td align="center">8-9</td>      <td align="center">9-9</td>      <td align="center">10-9</td>    </tr>    <tr>        <td align="center">1-10</td>        <td align="center">2-10</td>        <td align="center">3-10</td>        <td align="center">4-10</td>        <td align="center">5-10</td>        <td align="center">6-10</td>        <td align="center">7-10</td>        <td align="center">8-10</td>      <td align="center">9-10</td>      <td align="center">10-10</td>    </tr>    <tr>        <td align="center">1-11</td>        <td align="center">2-11</td>        <td align="center">3-11</td>        <td align="center">4-11</td>        <td align="center">5-11</td>        <td align="center">6-11</td>        <td align="center">7-11</td>        <td align="center">8-11</td>    </tr>    <tr>        <td align="center">1-12</td>        <td align="center">2-12</td>        <td align="center">3-12</td>        <td align="center">4-12</td>        <td align="center">5-12</td>        <td align="center">6-12</td>        <td align="center">7-12</td>        <td align="center">8-12</td>    </tr>    <tr>        <td align="center">1-13</td>        <td align="center">2-13</td>        <td align="center">3-13</td>        <td align="center">4-13</td>        <td align="center">5-13</td>        <td align="center">6-13</td>        <td align="center">7-13</td>        <td align="center">8-13</td>    </tr>    <tr>        <td align="center">1-14</td>        <td align="center">2-14</td>        <td align="center">3-14</td>        <td align="center">4-14</td>        <td align="center">5-14</td>        <td align="center">6-14</td>        <td align="center">7-14</td>        <td align="center">8-14</td>    </tr>    <tr>        <td align="center">1-15</td>        <td align="center">2-15</td>        <td align="center">3-15</td>        <td align="center">4-15</td>        <td align="center">5-15</td>        <td align="center">6-15</td>        <td align="center">7-15</td>        <td align="center">8-15</td>    </tr></table></body></html>

css部分

*{margin:0;padding:0}.LockRow{position:relative;z-index: 2;top:0;}.LockCell{position:relative;left:0;z-index:0}.LockCross{z-index:3;}.divBoxing{clear:both;overflow:scroll;position:relative;border:1px solid black;}.tbLock{border-collapse:collapse;}.lockRowBg{background-color:red;}.lockColumnBg{background-color:orange;}table{position:relative;}

js部分

(function($){    $.extend($.fn,{        TableLock:function(options){            var tl=$.extend({                table:"lockTable",//table 的id                lockRow:1,//固定行数                lockColumn:1,//固定列数                width:"100%",//表格显示宽度(实质是外出div宽度)                height:"100%",//表格显示高度(实质是外出div高度)                lockRowCss:"lockRowBg",//锁定行的样式                lockColumnCss:"lockColumnBg"//锁定列的样式            },options);

var tableId=tl.table;            var table=$("#"+tableId);

if(table){                var box=$("<div id=‘divBoxing‘ class=‘divBoxing‘></div>");                    box.scroll(function(){                    $(".LockRow").css("top",$(this).scrollTop()+"px");                    $(".LockCell").css("left",$(this).scrollLeft()+"px");                });                box.css("width",tl.width).css("height",tl.height);                table.wrap(box);                table.addClass("tbLock");

if(tl.lockRow>0){                    var td1;                    for(var r=0;r<tl.lockRow;r++){                        td1=$(‘tr:eq(‘+r+‘) td‘);                        td1.addClass(‘LockRow‘).addClass(tl.lockRowCss);                        for(var c=0;c<tl.lockColumn;c++){//设置交叉单元格样式,除了锁定单元格外还有交叉单元格自身样式                            $(‘tr:eq(‘+r+‘)‘).find(‘td:eq(‘+c+‘)‘).addClass(‘LockCell LockCross‘).addClass(tl.lockRowCss);                        }                    }

}                if(tl.lockColumn>0){                    var rowNum=$(‘#‘+tableId+‘ tr‘).length;                    var tr2;                    for(var t=(tl.lockRow);t<rowNum;t++){                        tr2=table.find(‘tr:eq(‘+t+‘)‘);                        for(var c1=0;c1<tl.lockColumn;c1++){                            tr2.find(‘td:eq(‘+c1+‘)‘).addClass(‘LockCell‘).addClass(tl.lockColumnCss);                        }                    }                }

}else{                alert("没有找到对应得table元素,请确保table属性正确!")            }        }    })})(jQuery);
时间: 2024-10-25 02:12:59

TableLock插件的相关文章

使用 Chrome 浏览器插件 Web Scraper 10分钟轻松实现网页数据的爬取

本文标签: WebScraper Chrome浏览器插件 网页数据的爬取 使用Chrome 浏览器插件 Web Scraper 可以轻松实现网页数据的爬取,不写代码,鼠标操作,点哪爬哪,还不用考虑爬虫中的登陆.验证码.异步加载等复杂问题. Web Scraper插件 Web Scraper 官网中的简介: Web Scraper Extension (Free!)Using our extension you can create a plan (sitemap) how a web site

eclipse插件之Findbugs、Checkstyle、PMD安装及使用

一.什么是Findbugs.checkstyle.PMD Findbugs.checkstyle和PMD都可以作为插件插入eclipse,当然也有单独的工具可以实现他们的功能,比如Findbugs Tool就可以不必插入eclipse就可以使用. 三者的功能如下表: 工具 目的 检查项 FindBugs 检查.class 基于Bug Patterns概念,查找javabytecode(.class文件)中的潜在bug 主要检查bytecode中的bug patterns,如NullPoint空指

eclipse安装java ee插件方法步骤

1.本人以前使用的MyEclipse进行Javaweb开发,但是后来由于myeclipse实在太臃肿,经常在运行的过程中不流畅 (可能电脑内存也不是太高吧)   !所以坚决换用eclipse,但是问题来了,下载的eclipse因为是标准版所以也不支持Javaweb开发,所以要来配置一下开发环境,安装Javaee开发插件   ,以下为安装步骤 1.1 在Eclipse中菜单help选项中选择install new software选项 1.2 在work with 栏中输入 http://down

Myeclipse10 安装Aptana插件

安装步骤: 1.下载aptana3.2 Eclipse Plugin插件. 下载地址:http://update1.aptana.org/studio/3.2/024747/index.html 2.在java文件夹下新建文件夹pluginsNew,在里面新建aptana_update_024747文件夹(这个文件夹名根据自己下载的版本自己写),再在里面新建eclipse文件夹,解压出features与plugins文件夹,COPY到 D:\java\pluginsNew\aptana_upda

这是一款借助chrome 插件的微信机器人

1.chrome kit微信机器人简介(github:https://github.com/LinuxForYQH/chrome_kit) 借助chrome 插件 js注入来实现消息的发送 chrome devtool api的调用来监听https请求 打开微信登录界面,在扫码登录前必须先打开toolbar(F12 或者 鼠标右键检查),如上所说因为借助了chrome devtool api所以需要打开toolbar才能执行相关dev域的js. 2.相关开发原理介绍 https://develo

使用插件bootstrap-table实现表格记录的查询、分页、排序等处理

在业务系统开发中,对表格记录的查询.分页.排序等处理是非常常见的,在Web开发中,可以采用很多功能强大的插件来满足要求,且能极大的提高开发效率,本随笔介绍这个bootstrap-table是一款非常有名的开源表格插件,在很多项目中广泛的应用.Bootstrap-table插件提供了非常丰富的属性设置,可以实现查询.分页.排序.复选框.设置显示列.Card view视图.主从表显示.合并列.国际化处理等处理功能,而且该插件同时也提供了一些不错的扩展功能,如移动行.移动列位置等一些特殊的功能,插件可

页面滚动图片等元素动态加载插件jquery.scrollLoading.js

如果一个网页很长,那么该页面的加载时间也会相应的较长.而这里给大家介绍的这个jQuery插件scrollLoading的作用则是,对页面元素进行动态加载,通俗的说就是滚到哪就加载到哪,屏幕以下看不见的就不用加载了.这样还可以在一定程度上节省服务器资源.该插件作者的网页将该插件的功能和使用方法描述的非常详细,这里把最一般最普遍的使用情况给大家展现一下. 插件作者:http://www.zhangxinxu.com/ 首先我们需要加载jQuery库和本插件js文件. (jquery.scrollLo

怎样将「插件化」接入到项目之中?

本期移动开发精英社群讨论的主题是「插件化」,上网查了一下,发现一篇 CSDN 博主写的文章<Android 使用动态载入框架DL进行插件化开发>.此处引用原作者的话: 随着应用的不断迭代,应用的体积不断增大,项目越来越臃肿,冗余添加.项目新功能的加入,无法确定与用户匹配性,发生严重异常往往牵一发而动全身,仅仅能紧急公布补丁版本号,强制用户进行更新.结果频繁的更新.反而easy减少用户使用黏性,或者是公司业务的不断发展,同系的应用越来越多,传统方式须要通过用户量最大的主项目进行引导下载并安装.

Android插件实例——360 DroidPlugin具体解释

在中国找到钱不难,但你的一个点子不意味着是一个创业.你谈一个再好的想法,比方我今天谈一个创意说,新浪为什么不收购GOOGLE呢?这个创意非常好.新浪一收购GOOGLE.是不是新浪就变成老大了?你从哪儿弄来钱?怎么去整合GOOGLE呢: 之前写过有关于Android 插件方向的文章,解析了一下Android的插件原理与执行方式.非常多小伙伴都问我.为什么不把我制作的插件放到Github上,让大家共享一下. 我仅仅能说.大哥啊,这个插件是我在公司研发的时候制作的,商业机密.不能开源啊. 刚好.近期逛