1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > HTML 自动伸缩的表格Table js实现【javascript】

HTML 自动伸缩的表格Table js实现【javascript】

时间:2022-11-21 23:32:05

相关推荐

HTML 自动伸缩的表格Table js实现【javascript】

web前端|js教程

javascript,自动伸缩,表格,Table

web前端-js教程

下面的代码解决了这个问题:当表格被载入的时候,TD的宽度是原定的长度,不会撑开TD,也不会影响其他TD,点击某行会按照本行所有单元格中行数最多的单元格的长度伸长行高。用户体验很好。

【优点】

1、对开发人员指定的表格没有任何影响;

2、使用简单;

3、被定义的表格样式可以随意的定制你的样式,不对你的样式构成影响;

4、移植性好,扩展性好。

【缺点】

目前用IE7测试正常,但不支持FireFox,工作比较忙,没时间更正,希望网友更正,俺在此谢过。^_^

php电脑桌面源码,vscode路径补全插件,ubuntu磁盘合适,node与tomcat区别,sqlite数据库全联查询,爬虫爬取历史数据可视化,php 执行 bash,seo优化后没效果,网站顶部素材,bug管理模板lzw

【使用方法】

1、将AutoTableSize.js包文件[点击这儿下载源代码]导入到你的web应用目录中;

2、引入包AutoTableSize.js,页面body底部加入:

3、编写你的脚本调用:

new AutoTableSize(); 当DOM对象中只有一个Table的时候不用指定Table的ID属性;

new AutoTableSize(table); table:既可以是表格的ID属性,也可以是表格对象;

源码AutoTableSize.js

jsp医院挂号系统源码,vscode预览latex,ubuntu 软键盘,tomcat熵,sqlite支持分区,阿里与服务器不稳定,百度云网盘播放插件,前端开发开发 框架,haskell 爬虫,PHP和Python哪个简单,新手怎么学习seo,黄页网站代码,网页黑白 代码,js模板怎么替换,仿路由器登录页面原码,南方数据企业网站管理系统,团购导航程序lzw

/**

* @ version: 1.0

* @ author:Xing,Xiudong

* @ email: xingxiudong[at]

* @ index: /xxd851116

* @ date: .04.01 愚人节

* @ desciption: AutoTableSize

*/

function AutoTableSize(table) {

table = table || document.getElementsByTagName("table")[0];

this.table = typeof(table) == "String" ? document.getElementById("table") : table;

this.init();

}

md5源码,ubuntu重装桌面卸载,tomcat 响应时间慢,网络爬虫排行,php博客系统框架,华容区seo关键词排名优化价格lzw

AutoTableSize.prototype.init = function() {

autoTableSize = this;

var lastClickRowIndex;

var clickCount = 0;

for (var i = 0; i < this.table.rows.length; i++) {

var maxRowHeight = 0;

var tds = this.table.rows[i].cells;

if (tds.length == 0) continue;

for (var j = 0; j < tds.length; j++) {

maxRowHeight = maxRowHeight > tds[j].offsetHeight ? maxRowHeight : tds[j].offsetHeight;

var innerDiv = document.createElement("div");

innerDiv.style.height = Number(this.table.style.fontSize.substring(0, this.table.style.fontSize.length - 2)) + 1 + "px";

innerDiv.style.overflow = "hidden";

innerDiv.style.margin = "0";

innerDiv.style.padding = "0";

innerDiv.style.border = "0";

innerDiv.innerHTML = tds[j].innerHTML;

tds[j].innerHTML = "";

tds[j].appendChild(innerDiv);

}

this.table.rows[i].maxHeight = maxRowHeight;

this.table.rows[i].onmouseover = function(){this.style.backgroundColor = "#DAE9FE";}

this.table.rows[i].onmouseout = function() {this.style.backgroundColor = "#FFF";}

this.table.rows[i].onclick = function() {

if (this.rowIndex == lastClickRowIndex) {

if (clickCount % 2 == 0) {

autoTableSize.showTR(this.rowIndex);

} else {

autoTableSize.hideTR(this.rowIndex);

}

clickCount++;

return;

}

autoTableSize.hideTR(lastClickRowIndex);

autoTableSize.showTR(this.rowIndex);

lastClickRowIndex = this.rowIndex;

clickCount++;

}

}

}

AutoTableSize.prototype.hideTR = function(index) {

if (!Number(index)) return;

tds = this.table.rows[index].cells;

for (var i = 0; i < tds.length; i++) {

tds[i].firstChild.style.height = Number(this.table.style.fontSize.substring(0, this.table.style.fontSize.length - 2)) + 1 + "px";

}

}

AutoTableSize.prototype.showTR = function(index) {

if (!Number(index)) return;

tds = this.table.rows[index].cells;

for (var i = 0; i < tds.length; i++) {

tds[i].firstChild.style.height = this.table.rows[index].maxHeight - 2 * this.table.getAttribute("cellpadding");

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。