Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Задать высоту окна
 
 автор: Andrey_V   (08.12.2007 в 15:08)   письмо автору
 
 

Помогите задать высоту окна в браузере.
На странице выводится таблица. Я задаю ее высоту, чтобы страница по высоте укладывалась в размер экрана.
Но теперь надо чтобы при изменении размера окна высота таблицы изменялась так, чтобы таблица по-прежнему влезала целиком в окно. Т.е. чтобы не появлялась вертикальная полоса прокрутки.
Или другими словами надо, чтобы параметр высоты таблицы устанавливался в соответствии с высотой внутреннего окна браузера.

   
 
 автор: CNT   (08.12.2007 в 15:53)   письмо автору
 
   для: Andrey_V   (08.12.2007 в 15:08)
 

в скрипте установите window.onresize = myFunc;
И чуть ранее пропишите функцию myFunc (), коя определит высоту тела документа после изменения размеров documen.body.clientHeight и приведет таблицу в соответствие с этой высотой (если, конечно, это будет возможно).

PS. Но вообще-то есть другой способ: задайте таблице высоту в % от тела документа и изменение будет происходить автоматически - безо всяких функций.

<style>
html, body {height: 100%}
table {height: сколько-надо%}
</style>

   
 
 автор: Andrey_V   (08.12.2007 в 17:34)   письмо автору
 
   для: CNT   (08.12.2007 в 15:53)
 

Функцию для определения высоты я вписал. Высота определяется. А как ее задать в таблице?
Т.е. таблица создается обычным HTML кодом:

<table>
.
.
.
.
</table>

Теперь в первом теге надо каким-то образом указать высота, используя данные из функции. Т.е. у меня функция getwindowheight(). Для вывода ее результатов на экран пишу
document.write( getwindowheight())
А как этим задать высоту?

   
 
 автор: CNT   (08.12.2007 в 19:30)   письмо автору
 
   для: Andrey_V   (08.12.2007 в 17:34)
 


<table id="myID">
...

document.getElementByID ('myID').style.height = то_что_функция_насчитала;

   
 
 автор: Andrey_V   (14.12.2007 в 23:27)   письмо автору
 
   для: CNT   (08.12.2007 в 19:30)
 

Я с JS еще только учусь работать. Предпочитаю сам пробовать до бесконечности. Но здесь что-то кусочек мозгов заклинило и не доходит.
Прошу еще раз пояснить, куда вставить строку.
Вот таблица:
===========================================================
<table id="myID" width="50%" border="2" cellspacing="0" cellpadding="0" >
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
===========================================================
В какое место и как впихнуть Вашу строку?

   
 
 автор: CNT   (14.12.2007 в 23:52)   письмо автору
 
   для: Andrey_V   (14.12.2007 в 23:27)
 

<html>
<head>
<script>
window.onresize = function ()
{
//здесь высчитываете значение высоты таблицы (после изменения юзером размера окна)
//и присваиваете полученное значение, например, переменной var myHeight 
//а потом, как результирующее действие, и пишете:

document.getElementByID ('myID').style.height = myHeight;
}
</script>
</head>
<body>
...
<table id="myID" width="50%" border="2" cellspacing="0" cellpadding="0" >
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
...
</body>
</html>

   
 
 автор: Andrey_V   (15.12.2007 в 00:14)   письмо автору
 
   для: CNT   (14.12.2007 в 23:52)
 

Сделал такой файл html.
Только попробовал задать фиксированное значение (чтобы получить какую-то реакцию)
=======================
window.onresize = function ()
{
myHeight="500px";
document.getElementByID ('myID').style.height = myHeight;
}
=======================
Дергаю за угол браузера, размер окна меняется, а высота таблицы не меняется. В чем может быть дело?
JS разрешен, если я в эту функцию ставлю alert, он дает сообщение при дергании угла

   
 
 автор: CNT   (15.12.2007 в 03:04)   письмо автору
 
   для: Andrey_V   (15.12.2007 в 00:14)
 

Извиняюсь, моя ошибка - смените регистр у последнего символа в методе - getElementById (т.е. буква d обязательно должна быть "маленькой")

   
 
 автор: Andrey_V   (15.12.2007 в 23:03)   письмо автору
 
   для: CNT   (15.12.2007 в 03:04)
 

Да, так заработало. Большое спасибо. Буду пробовать как это сочетается со встроенными DIV и в разных браузерах. Какие-то проблемы с разными браузерами могут быть?

   
 
 автор: Andrey_V   (29.12.2007 в 14:29)   письмо автору
 
   для: Andrey_V   (15.12.2007 в 23:03)
 

В IE и Opera все работает отлично. В FireFox, Netscape, Safari никакой реакции. Т.е. при изменении размер окна измеряется правильно, но высота окна на эти цифры не реагирует.
Что можно сделать?

   
 
 автор: CNT   (29.12.2007 в 18:47)   письмо автору
 
   для: Andrey_V   (29.12.2007 в 14:29)
 

Про Netscape, Safari не скажу - не знаю.
А в Лисе (у меня версия 2.0.0.11) всё работает.

Хотя попробуйте добавить 'px' - для стиля это может быть критично.
Т.е. конец последней строки будет такой:
style.height = myHeight + 'px';

   
 
 автор: Andrey_V   (05.01.2008 в 13:04)   письмо автору
 
   для: CNT   (29.12.2007 в 18:47)
 

Большое спасибо!
С этой добавкой зхаработало во всех браузерах!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования