Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Несколько таблиц с плавающей шапкой на странице (https://javascript.ru/forum/dom-window/46257-neskolko-tablic-s-plavayushhejj-shapkojj-na-stranice.html)

рони 04.04.2014 12:22

Цитата:

Сообщение от Hurray
Можно ли получить разом все css свойства элемента и передать их другому элементу?

а зачем? кроме ширины остальное через таблицу стилей

рони 04.04.2014 12:28

Hurray,
может без th ? на одних td

Hurray 04.04.2014 13:02

Цитата:

Сообщение от рони (Сообщение 306005)
1 через css задать ширину ячейкам
2 обойти все ячейки 1 строки таблицы и ширину присвоить каждой ячейке клона соотвественно

Этим скриптом ширина каждой ячейки копируется из стандартной строки в фиксированную:
i2 = 1;
	$("table#" + i + " .t_head th").each(function (){
		arw[i2] = $(this).width();
		i2 ++;
	})
	i2 = 1;
	$("table#" + i + " .t_head.t_head_fixed th").each(function (){
		$(this).width(arw[i2]);
		i2 ++;
	})

,но всё равно в результате ширина разная для тех ячеек, у которых в оригинале ширина не задана в пикселах. Не задана, потому что в таблице может быть разное количество столбцов и они должны равномерно распределяться по всей ширине строки.

Hurray 04.04.2014 13:10

Цитата:

Сообщение от рони (Сообщение 306019)
Hurray,
может без th ? на одних td

Как можно поменять все th на td с сохранением атрибутов и содержимого?

рони 04.04.2014 13:37

Hurray,
можно и с th )))
добавил th в первую таблицу

Hurray 04.04.2014 16:11

Объясните мне, почему при таком коде ширина столбцов не совпадает?
В строке, которая не fixed, фактическая ширина совсем не та, которая указана в атрибуте style. Проверял в firebug. В стилях одна ширина, в макете - другая.
<tr class="t_head" style="width: 801px;">
	<th style="width: 72px;">Период</th>
	<th style="width: 16px;"></th>
	<th style="width: 45px;">DBL</th>
	<th style="width: 73px;">3 человека</th>
	<th style="width: 73px;">4 человека</th>
	<th style="width: 65px;">5 человек</th>
	<th style="width: 65px;">6 человек</th>
	<th style="width: 65px;">7 человек</th>
	<th style="width: 65px;">8 человек</th>
</tr>
<tr class="t_head t_head_fixed" style="width: 801px;">
	<th style="width: 72px;">Период</th>
	<th style="width: 16px;"></th>
	<th style="width: 45px;">DBL</th>
	<th style="width: 73px;">3 человека</th>
	<th style="width: 73px;">4 человека</th>
	<th style="width: 65px;">5 человек</th>
	<th style="width: 65px;">6 человек</th>
	<th style="width: 65px;">7 человек</th>
	<th style="width: 65px;">8 человек</th>
</tr>

рони 04.04.2014 16:24

Hurray,
содержимое растягивает

Hurray 04.04.2014 16:31

width ставится скриптом
while ($("table#" + i).length) {
		var i2 = 1;
		$("table#" + i + " .t_head th").each(function (){
			if(i2 > 2){
				$(this).css('width', $(this).width());
			}
			i2 ++;
		})
}
Как сделать, чтобы ширина измерялась с учетом этого растягивания?

рони 04.04.2014 16:34

Hurray,
напишите полноценный макет с html здесь или в песочнице http://learn.javascript.ru/play

рони 04.04.2014 16:36

Hurray,
$(this).css('width', $(this).width()); -- это типа установить ширину не ширее прежнего


Часовой пояс GMT +3, время: 03:11.