Можно ли отключить вертикальные и горизонтальные полосы прокрутки браузеров с помощью 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');