Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Оптимальный размер ай-фрэйма по контенту&сплиттер (https://javascript.ru/forum/dom-window/4651-optimalnyjj-razmer-ajj-frehjjma-po-kontentu-splitter.html)

JSTalker 11.08.2009 09:25

Оптимальный размер ай-фрэйма по контенту&сплиттер
 
Здрасте! :)

1. Как задать высоту таблицы, чтобы она масштабировалась в зависимости от размеров видимой области?
Пробовал вот так <table border="0" width="100%" height=body.clientWidth.toString()> - не помогает.. Вообще height-у и др. атрибутам хтмл можно присваивать значения таких конструкций?

Видел пример у А. Параничева

var html = document.documentElement;
alert("Размер вьюпорта: "+ html.clientWidth +"х"+ html.clientHeight);
- а как то пополезнее использовать этот метод нельзя?)

2. Возможно ли сделать сплиттер м/у левым и правым айфреймами (td-контейнерами)? Если нет, то какие элементы лучше использовать для добавления сплиттера? DIV?

Спасибо

Андрей Параничев 11.08.2009 15:12

JSTalker,
1. Можно повесить обновление высоты таблицы (или любого другого элемента) на два события: при готовности DOM (т.е. при загрузке) и resize (т.е. при изменении размера окна).

Вот на примере div элемента:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<meta http-equiv="content-type" value="text/html; charset=UTF-8" />
		<style type="text/css">
			body {
				padding: 0;
				margin: 0;
			}
		</style>
		<script type="text/javascript">
			onload = function() {
				var div  = document.getElementById("somediv");
				var html = document.documentElement;
				div.style.width  = html.clientWidth + "px";
				div.style.height = html.clientHeight + "px";
				
				onresize = function() {
					div.style.width  = html.clientWidth + "px";
					div.style.height = html.clientHeight + "px";
				};
			}
		</script>
	</head>
	<body>
		<div id="somediv" style="background-color: #333"></div>
	</body>
</html>


2. Не очень понял, если честно.

JSTalker 11.08.2009 15:50

Цитата:

Сообщение от Андрей Параничев (Сообщение 26537)
JSTalker,
1. Можно повесить обновление высоты таблицы

2. Не очень понял, если честно.

1. Вау! Работает! Респект :thanks:

2. Мои "GUI" представляет собой 2 основные области левую (с интерактивным деревом) и правую (основную с таблицами данных). Между этими областями мне надо сделать сплиттер, который будет двигаться влево-вправо. При табличной разметке, я догадываюсь он у меня не получиться, вот и думаю как его реализовать. (К слову пока серьезно этим вопросом не занимался - в инете не искал)...

x-yuri 14.08.2009 10:13

2. а зачем iframe понадобились?


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