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

HTML+CSS+JavaScript

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Скролл одного блока

Сообщения:  [1-10]   [11-16] 

 
 автор: alexander95   (02.08.2012 в 19:14)   письмо автору
 
   для: ЯСА   (02.08.2012 в 19:06)
 

>-- функция getClientHeight () не определена
определена, я показывал Вам её раньше, не убирал из кода.

>-- использовать свойство clientHeight для объекта document.getElementById ('header') - глупо.А если у него паддинги по вертикали по 20 пикселей и бордеры? Из расчёта "потеряются" более 40 пикселей. К этому стремитесь? :)
В том-то и дело, что паддинги не учитывались и при паддинге в 1% блок перелезал через низ ровно на 2%.

>вы вовсе не понимаете сути своей же задачи.
буду крайне признателен, если объясните мне суть моей же задачи.

  Ответить  
 
 автор: ЯСА   (02.08.2012 в 19:06)   письмо автору
 
   для: alexander95   (02.08.2012 в 12:37)
 

Это - НЕрабочий вариант:
-- функция getClientHeight () не определена
-- использовать свойство clientHeight для объекта document.getElementById ('header') - глупо.А если у него паддинги по вертикали по 20 пикселей и бордеры? Из расчёта "потеряются" более 40 пикселей. К этому стремитесь? :)

Кроме того, ваша фраза "содержимое блока будет куда больше body.clientHeight" свидетельствует о том, что вы вовсе не понимаете сути своей же задачи.

document.body.clientHeight - это высота открытого окна браузера (минус скроллы окна, минус бордеры окна же и минус верикальные паддинги).
По исходному заданию блок надо растянуть вниз до края окна.
Мой код его растягивает.
Ваш - совершенно не понимаю, что делает.

  Ответить  
 
 автор: alexander95   (02.08.2012 в 12:37)   письмо автору
 
   для: ЯСА   (26.07.2012 в 15:16)
 

Вы совсем не учли тот случй, когда содержимое блока будет куда больше body.clientHeight.
Вот рабочий вариант:

<body onload="with (document) {getElementById ('main').style.height = (getClientHeight() - getElementById ('header').clientHeight) + 'px';};">
    

  Ответить  
 
 автор: ЯСА   (26.07.2012 в 15:16)   письмо автору
 
   для: alexander95   (26.07.2012 в 15:13)
 

>"В моём примере это не работает. Хотя структура сохранена ПОЛНОСТЬЮ. Да, Ваш пример у меня работает."

Вывод: у кого-то кривые руки.

  Ответить  
 
 автор: alexander95   (26.07.2012 в 15:13)   письмо автору
 
   для: ЯСА   (26.07.2012 в 15:11)
 

В моём примере это не работает. Хотя структура сохранена ПОЛНОСТЬЮ. Да, Ваш пример у меня работает.

  Ответить  
 
 автор: ЯСА   (26.07.2012 в 15:11)   письмо автору
 
   для: alexander95   (26.07.2012 в 14:59)
 

Таки работает.
И здесь не найдётся ни одного человека, в чьём браузере это бы не работало.


Так что...
Птицу "петух" знаете?
Вот его берите и е...те ему мозг, ладно?

  Ответить  
 
 автор: alexander95   (26.07.2012 в 14:59)   письмо автору
 
   для: ЯСА   (26.07.2012 в 14:50)
 

Таки не работает :<
Бегунок вообще не появляется, блок уходит вниз до конца контента.

  Ответить  
 
 автор: ЯСА   (26.07.2012 в 14:50)   письмо автору
 
   для: alexander95   (26.07.2012 в 14:40)
 

Невнимательны вы.

Цитирую себя же:
<div id="test" style="background: aqua">А это для проверки работы скролла растянем на пять тысяч пикселей</div> 

Проверили? Убедились в работоспособности?
Убирайте теперь и сам тестовый <DIV>, и упоминание о нём в скрипте.

  Ответить  
 
 автор: alexander95   (26.07.2012 в 14:40)   письмо автору
 
   для: ЯСА   (26.07.2012 в 14:12)
 

getElementById ('test').style.height = '5000px'
это что?

  Ответить  
 
 автор: ЯСА   (26.07.2012 в 14:12)   письмо автору
 
   для: alexander95   (26.07.2012 в 14:02)
 

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<style>
html, body {height: 100%; overflow: hidden; margin: 0}
</style>
</head>
<body onload="with (document) {getElementById ('dn').style.height = (body.clientHeight - getElementById ('dn').offsetHeight) + 'px'; getElementById ('test').style.height = '5000px'}">

<div id="up" style="background: lime">Высота свободная,<br>определяется внутренним содержанием</div>

<div id="dn" style="overflow: auto; background: silver">Растягиваем по высоте до края окна<br>
<div id="test" style="background: aqua">А это для проверки работы скролла растянем на пять тысяч пикселей</div></div>

</body>
</html>

Использовать ТЕГ.style.height в правой части можно в одном-единственном случае - если непосредcтвенно в теге указано style="ЧТО-ТОpx"

  Ответить  

Сообщения:  [1-10]   [11-16] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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