Чи можливо відключити браузери вертикальні та горизонтальні смуги прокрутки за допомогою jQuery або javascript?
Чи можливо відключити браузери вертикальні та горизонтальні смуги прокрутки за допомогою jQuery або javascript?
Відповіді:
У випадку, якщо вам потрібна можливість ховати та показувати смуги прокрутки динамічно, ви могли б використовувати
$("body").css("overflow", "hidden");
і
$("body").css("overflow", "auto");
десь у вашому коді.
oveflow: hiddenне завадить нічого на смартфонах.
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
}
Поки у нас переповнення: приховано на тілі. Однак IE не завжди шанує це, і вам потрібно також поставити scroll = "no" на елемент тіла та / або розмістити переповнення: приховано і на html-елементі.
Ви можете зробити це далі, коли вам потрібно "взяти під контроль" порт перегляду, ви можете це зробити: -
<style>
body {width:100%; height:100%; overflow:hidden; margin:0; }
html {width:100%; height:100%; overflow:hidden; }
</style>
Елемент, наділений висотою 100% у тілі, має повну висоту вікна перегляду вікна, а елемент розташований абсолютно за допомогою нижнього: nnPX буде встановлено nn пікселів над нижньою кромкою вікна тощо.
У сучасних версіях IE (IE10 і вище) прокрутки можна приховати за допомогою -ms-overflow-styleвластивості .
html {
-ms-overflow-style: none;
}
У Chrome можна прокручувати смуги прокрутки:
::-webkit-scrollbar {
display: none;
}
Це дуже корисно, якщо ви хочете використовувати веб-додаток прокрутки 'за замовчуванням' у веб-додатку, що значно швидше, ніж overflow-y: scroll.
У IE є помилка з панелями прокрутки. Тож якщо ви хочете будь-який із двох, ви повинні включити наступне, щоб приховати горизонтальну смугу прокрутки:
overflow-x: hidden;
overflow-y:scroll;
і приховати вертикаль:
overflow-y: hidden;
overflow-x: scroll;
(Я поки не можу коментувати, але хотів поділитися цим):
Код Лінзі працював на мене в браузері настільних ПК. Однак на iPad (Chrome, iOS 9) програма застосувала. Щоб виправити це, я змінив
document.documentElement.style.overflow = ...
до
document.body.style.overflow = ...
що вирішило мою проблему.