Отключить браузеры вертикальных и горизонтальных полос прокрутки

Можно ли отключить вертикальные и горизонтальные полосы прокрутки браузеров с помощью jQuery или javascript?

Ответ 1

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

$("body").css("overflow", "hidden");

и

$("body").css("overflow", "auto");

где-то в вашем коде.

Ответ 2

function reloadScrollBars() {
    document.documentElement.style.overflow = 'auto';  // firefox, chrome
    document.body.scroll = "yes"; // ie only
}

function unloadScrollBars() {
    document.documentElement.style.overflow = 'hidden';  // firefox, chrome
    document.body.scroll = "no"; // ie only
}

Ответ 3

Попробуйте CSS

<body style="overflow: hidden">

Ответ 4

До сих пор у нас переполнение: скрыто на теле. Однако IE не всегда это оценивает, и вам также нужно добавить scroll = "no" в элемент body и/или переместить место: также скрытый в элементе html.

Вы можете сделать это дальше, когда вам нужно "взять под контроль" порт представления, который вы можете сделать: -

<style>
 body {width:100%; height:100%; overflow:hidden; margin:0; }
 html {width:100%; height:100%; overflow:hidden; }
</style>

Элемент, предоставленный высотой 100% в теле, имеет всю высоту окна просмотра окна, а элемент, расположенный абсолютно с использованием bottom: nnPX будет установлен на nn пикселей выше нижнего края окна и т.д.

Ответ 5

Попробуйте CSS.

Если вы хотите удалить Horizontal

overflow-x: hidden;

И если вы хотите удалить Вертикальный

overflow-y: hidden;

Ответ 6

Если вам также нужна поддержка Internet Explorer 6, просто перелейте html

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

и

$("html").css("overflow", "auto");

Ответ 7

В современных версиях IE (IE10 и выше) полосы прокрутки можно скрыть с помощью свойства -ms-overflow-style.

html {
     -ms-overflow-style: none;
}

В Chrome полосы прокрутки можно стилизовать:

::-webkit-scrollbar {
    display: none;
}

Это очень полезно, если вы хотите использовать прокрутку тела по умолчанию в веб-приложении, что значительно быстрее, чем overflow-y: scroll.

Ответ 8

В IE есть ошибка с полосами прокрутки. Поэтому, если вы хотите любой из двух, вы должны включить следующее, чтобы скрыть горизонтальную полосу прокрутки:

overflow-x: hidden;
overflow-y:scroll;

и скрыть вертикаль:

overflow-y: hidden;
overflow-x: scroll;

Ответ 9

(Я еще не могу прокомментировать, но хотел поделиться этим):

Код Lyncee работал у меня в настольном браузере. Однако на iPad (Chrome, iOS 9) он разбил приложение. Чтобы исправить это, я изменил

document.documentElement.style.overflow = ...

к

document.body.style.overflow = ...

который решил мою проблему.

Ответ 10

Поскольку Firefox имеет короткую вырезку со стрелкой, вы, вероятно, захотите установить <div> вокруг него с помощью стиля CSS: overflow:hidden;.

Ответ 11

Используя JQuery, вы можете отключить прокрутку с помощью этого кода:

$('body').on({
    'mousewheel': function(e) {
        if (e.target.id == 'el') return;
        e.preventDefault();
        e.stopPropagation();
     }
});

Также вы можете включить его снова с помощью этого кода:

 $('body').unbind('mousewheel');