Почему отображаются две вертикальные полосы прокрутки? - PullRequest
2 голосов
/ 26 марта 2012

Я сделал что-то подобное, чтобы сначала скрыть полосу прокрутки тела, а затем показать ее при нажатии на ссылку:

$('body').css('overflow', 'hidden');
$('#site').click(function(e) {
    $('#wrapper').remove();
    $('body').css('overflow', 'scroll');
    return false;
});

Сначала он скрывает полосу прокрутки и просто показывает полосу прокрутки для наложения (абсолютно позиционированный div (#wrapper)), но когда я нажимаю на ссылку (#site), чтобы снова показать полосу прокрутки (и удалить наложение) теперь отображаются две полосы прокрутки: одна работает, другая отключена.

HTML:

<div id="wrapper">
   --- some content ----
   <a href="" id="site"></a>
</div>

<div>
   --- rest of the website ---
</div>

CSS:

#wrapper {  
    background-color: #CCC;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 99999; 
    height: 800px;
}

Что пошло не так?

Ответы [ 6 ]

4 голосов
/ 26 марта 2012

Нашел решение моей проблемы.Мне просто нужно было добавить:

$('html').css('overflow', 'hidden');
2 голосов
/ 11 июля 2018

В моем случае я попытался

$('html').css('overflow', 'hidden');

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

Я использовал:

$('html').css('overflow-x', 'initial');

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

1 голос
/ 15 августа 2017

Вы также можете использовать это, если что-то из темы или стиля вызывает вторую полосу

html {
  overflow-x: initial !important;
}
0 голосов
/ 24 июля 2018

Это решило проблему для меня:

body{overflow-y:auto}
0 голосов
/ 26 марта 2012

Под двумя полосами прокрутки вы подразумеваете вертикальную и горизонтальную полосу прокрутки? Если это так, используйте переполнение: авто вместо прокрутки

http://jsfiddle.net/DmqbU/2/

Это будет эффективно показывать полосу прокрутки только при необходимости (если горизонтальное содержимое шире, чем ширина, или вертикальное содержимое выше высоты)

0 голосов
/ 26 марта 2012

Используйте overflow-x и overflow-y для управления горизонтальными и вертикальными полосами прокрутки. Просто установите overflow-x: none;, чтобы прекратить показывать горизонтальную полосу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...