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

HTML+CSS+JavaScript

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

 

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

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

тема: размер скролла
 
 автор: katty   (18.09.2006 в 18:01)   письмо автору
 
 

Здравствуйте, подскажите, пожалуйста, как можно высчитать ширину вертикального скролла или соответственно - высоту горизонтального.
заранее-спасибо)

   
 
 автор: 12345   (18.09.2006 в 19:28)   письмо автору
 
   для: katty   (18.09.2006 в 18:01)
 

<div id=d1 style="width:100px;height:100px;overflow:scroll;border:0px solid;">
  <div id=d2 style="width:100%;height:100%;border:0px solid red;">99</div></div>
<script>onload=function(){alert(document.getElementById('d1').offsetWidth
  -document.getElementById('d2').offsetWidth)}</script>

(высота гориз.скроллбара для Оперы не вычисляется этим способом)

   
 
 автор: katty   (19.09.2006 в 10:07)   письмо автору
 
   для: 12345   (18.09.2006 в 19:28)
 

спасибо большое, буду разбираться)))

   
 
 автор: katty   (19.09.2006 в 10:41)   письмо автору
 
   для: 12345   (18.09.2006 в 19:28)
 

простите, а можно объяснить принцип? я не очень поняла, что должно произойти.
я попыталась сделать также с некоторым изменением - у меня не получается, потому что offsetWidth - берет ширину блока включая скролл?


<body>
    <div id=d1 style="width:100px; height:100px; overflow:scroll; border:1px solid red;"></div>
    <div id=d2 style="width:100px;  height:100px;  border:1px solid red;"></div>
</body>
<script type="text/javascript">
<!--
    onload=function(){
        alert('offsetWidth d1 ' + document.getElementById('d1').offsetWidth);
        alert('offsetWidth d2 ' + document.getElementById('d2').offsetWidth);
        alert(document.getElementById('d1').offsetWidth - document.getElementById('d2').offsetWidth);
      }
//-->
</script>

   
 
 автор: katty   (19.09.2006 в 13:54)   письмо автору
 
   для: katty   (19.09.2006 в 10:41)
 

все, вижу ошибку свою (блок внутри второго должен быть, спасибо большое))
и в опере по-моему тоже считает)

   
 
 автор: 12345   (19.09.2006 в 14:05)   письмо автору
 
   для: katty   (19.09.2006 в 13:54)
 

Ширину - да, высоту - нет (в Опере). Но скроллы одинаковы, поэтому достаточно ширины.

   
 
 автор: katty   (19.09.2006 в 14:47)   письмо автору
 
   для: 12345   (19.09.2006 в 14:05)
 

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

   
 
 автор: 12345   (19.09.2006 в 16:42)   письмо автору
 
   для: katty   (19.09.2006 в 14:47)
 

про объект не слышал, в устоявшейся модели документа его нет.

В IE есть свойство document.body.scroll - http://javascript.aho.ru/files/js/BODY.html#scroll

Пример, меняющий цвета скроллбара (IE):
<style>body,textarea{background-color:#C8F0C8; border-color: #c0d040;
    scrollbar-face-color: #005000;
    scrollbar-shadow-color: #008060;
    scrollbar-highlight-color: #ffe0c0;
    scrollbar-3dlight-color: #c0d040;
    scrollbar-darkshadow-color: #008000;
    scrollbar-track-color: #98d098;
    scrollbar-arrow-color: #c0df80;}</style>
<script>onload=function(){document.body.style.scrollbarFaceColor='red'}</script>

   
 
 автор: katty   (20.09.2006 в 11:51)   письмо автору
 
   для: 12345   (19.09.2006 в 16:42)
 

в одной из тем здесь на форуме Вы говорите, что опера не понимает проценты, а как же тогда растянуть блок на сто процентов по вертикали и горизонтали?

   
Rambler's Top100
вверх

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