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)

Hurray 03.04.2014 12:47

Несколько таблиц с плавающей шапкой на странице
 
На странице есть несколько таблиц одна под другой. Нужно чтобы верхняя строчка каждой таблицы ездила вверх-вниз в пределах данной страницы вслед за вертикальной перемоткой окна браузера. Можно это сделать только с помощью css или надо на JS?

nice_try 03.04.2014 12:52

js нужен, не уверен, что это реализуемо для таблиц сверстанных через теги table tr td

Hurray 03.04.2014 14:43

Цитата:

Сообщение от nice_try (Сообщение 305811)
js нужен, не уверен, что это реализуемо для таблиц сверстанных через теги table tr td

А если я каждой шапке таблицы добавлю двойника с position: fixed, который будет отображаться или нет в зависимости от положения окна браузера?
<table>
	<tbody>
		<tr class="t_head" id="1">
			<th style="width: 70px;">Период</th>
			<th style="width: 15px;"></th>
			<th>DBL</th>
			<th>SGL</th>
			<th>Реб. 03-11</th>
		</tr>
...

if($(".t_head#1").length>0) {
	$(".t_head#1").clone().insertAfter(".t_head#1").addClass("t_head_fixed");
}

Осталось только сделать проверку того, что верхняя граница окна пересекает таблицу. И ещё у каждой шапки свой id. Код я привёл для шапки с id=1. Как сделать, чтобы клон создавался для каждой шапки по её id?

рони 03.04.2014 19:23

Hurray,

Hurray 03.04.2014 19:43

Цитата:

Сообщение от рони (Сообщение 305912)
Hurray,

Да, именно это мне и надо! Можно код?

рони 03.04.2014 20:00

Hurray,
в инете полно плагинов типа http://www.novasoftware.com/Download...ixedTable.aspx
если вам понравился мой код - меняю на тугрики - предложения в личку :thanks:

Hurray 04.04.2014 11:23

Когда делаю
$(".t_head#1").clone().insertAfter(".t_head#1").addClass("t_head_fixed");
, то как сделать, чтобы все ячейки плавающей строки были по ширине как в исходной строке?

рони 04.04.2014 11:31

Цитата:

Сообщение от Hurray
, то как сделать, чтобы все ячейки плавающей строки были по ширине как в исходной строке?

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

Hurray 04.04.2014 12:09

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

Hurray 04.04.2014 12:22

как растянуть теги <th> на всю ширину родительского <tr>? а то они все прижались к левому краю внутри него.


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