Доброго времени суток, уважаемая публика.
Суть в следующем. Имеется таблица, в которую ajax'ом подгружаются данные, и после того как в таблицу подгружены данные, ширина столбцов изменяется.
Как зафиксировать ширину столбцов таблицы после того как страница загрузилась и не менялась при подгрузке данных.
На опере и IE(причем ослик очень медленно отрабатывает) прокатила следующая штука, вызываю AlignTables
Код:
|
function getElementWidth(element) {
if(element.clientWidth) {
return element.clientWidth;
}
else {
if(element.offsetWidth) {
return element.offsetWidth;
}
}
return 10;
}
document.getElementsByClassName = function(cl) {
var retnode = [];
var myclass = new RegExp('\\b'+cl+'\\b');
var elem = this.getElementsByTagName('*');
for (var i = 0; i < elem.length; i++) {
var classes = elem[i].className;
if (myclass.test(classes)) retnode.push(elem[i]);
}
return retnode;
};
function AlignTables()
{
var tables = document.getElementsByClassName('tbline');
for(i=0; i<tables.length; i++) {
var t = tables[i];
var cells = t.tBodies[0].rows[0].cells;
for (var j = 0; j < cells.length; j++) {
cells[j].style.width = getElementWidth(cells[j]);
}
t.style.tableLayout = 'fixed';
}
} |
Firefox при установке fixed, плюет на установленную ранее ширину столбца и делает все столбцы одинаковыми.
Может кто что подскажет или сталкивался ранее?