Показать сообщение отдельно
  #1 (permalink)  
Старый 26.03.2010, 18:21
bis bis вне форума
Новичок на форуме
Отправить личное сообщение для bis Посмотреть профиль Найти все сообщения от bis
 
Регистрация: 01.08.2009
Сообщений: 2

ширина столбцов таблицы после загрузки
Доброго времени суток, уважаемая публика.
Суть в следующем. Имеется таблица, в которую 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, плюет на установленную ранее ширину столбца и делает все столбцы одинаковыми.
Может кто что подскажет или сталкивался ранее?
Ответить с цитированием