Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как проверить, есть ли скроллбар (https://javascript.ru/forum/events/16714-kak-proverit-est-li-skrollbar.html)

рони 20.04.2011 16:14

shaltay,
Вариант кроссбраузерного определения скролбаров на странице ...
<!DOCTYPE html>
<html>
<head>
  <title></title>
<style type="text/css">
body{
  height: 1000px;
  width: 1500px;
}
</style>
</head>
<body>
<script  type="text/javascript">
function get_scroll(a) {
   var d = document,
        b = d.body,
        e = d.documentElement,
        c = "client" + a;
        a = "scroll" + a;
    return /CSS/.test(d.compatMode)? (e[c]< e[a]) : (b[c]< b[a])
};
</script>
<input type="button"  value="go"  onclick="alert('Горизонтальный скроллбар = '+get_scroll('Width')+'\nВертикальный скроллбар = '+get_scroll('Height'))"/>
</body>
</html>

shaltay 26.04.2011 16:53

Цитата:

Сообщение от рони (Сообщение 101552)
shaltay,
Вариант кроссбраузерного определения скролбаров на странице ...

Огромное спасибо! Именно то, что мне нужно!

mesign 11.05.2014 08:25

На само деле все очень просто, не нужно отслеживать появления скрола, нужно задать левое поле не через CSS, а через JS, поделив пополам остаток от ширины экрана за минусом блока с контентом. А правое поле оставить width: auto;

mesign 11.05.2014 10:53

т.е. после прогрузки сраницы делаем $('body').css('display','none'); и записываем ширину окна, соответственно оно будет без скролла, а потом возвращаем все на место и снова замеряем, разница будет шириной скрола если она вообще будет. и для каждого браузера определится точно.


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