$(document).ready(
function() {
var array = $(".tableCell span");
for ( var i = 0; i < array.length; i++) {
var height = array[i].offsetHeight;
if (height > 65) {
var content = array[i].innerHTML;
var width = array[i].offsetWidth;
if (content.length > (4 * 15 * width / 100 - 3)) {
array[i].innerHTML = content.substring(0, 4 * 15
* width / 100 - 3) + '...';
}
content = content.replace(/</g, "<");
content = content.replace(/>/g, ">");
content = content.replace(/&/g, "&");
array[i].setAttribute("title", content);
}
}
hideColumn();
});
function hideColumn() {
var array = $(".gridTable tr");
for ( var i = 0; i < array.length; i++) {
var td = array.eq(i).children("td");
for ( var j = 0; j < td.length; j++) {
if (j > 6) {
td[j].style.display = "none";
}
}
}
$("#showButton").show();
$("#hideButton").hide();
}
function showColumn() {
var array = $(".gridTable tr");
for ( var i = 0; i < array.length; i++) {
var td = array.eq(i).children("td");
for ( var j = 0; j < td.length; j++) {
if (j > 6) {
td[j].style.display = "";
}
}
}
$("#showButton").hide();
$("#hideButton").show();
}
?最近公司正好有这方面的需求,所以用jquery写了一下,以上代码控制表格列数在7列,超过7列的隐藏起来,当触发showColumn()方法时才全部列出来,另外每个单元格高度控制在4行(这个不是很精确,因为换行是按分词来换的),超过的部分截掉以...表示,当鼠标移过时显示该单元格的全部信息。
代码在ie8和firefox5下测试通过