Có thể tắt thanh cuộn dọc và ngang của trình duyệt bằng jQuery hoặc javascript không?
Có thể tắt thanh cuộn dọc và ngang của trình duyệt bằng jQuery hoặc javascript không?
Câu trả lời:
Trong trường hợp bạn cần khả năng ẩn và hiển thị động thanh cuộn, bạn có thể sử dụng
$("body").css("overflow", "hidden");
và
$("body").css("overflow", "auto");
ở đâu đó trong mã của bạn.
oveflow: hidden
sẽ không ngăn cản bất cứ điều gì trên điện thoại thông minh.
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
}
Cho đến nay chúng ta có tràn: ẩn trên cơ thể. Tuy nhiên IE không phải lúc nào cũng tôn trọng điều đó và bạn cũng cần phải đặt scroll = "no" trên phần tử body và / hoặc đặt tràn: ẩn trên phần tử html.
Bạn có thể thực hiện điều này xa hơn khi bạn cần 'kiểm soát' cổng xem, bạn có thể làm điều này: -
<style>
body {width:100%; height:100%; overflow:hidden; margin:0; }
html {width:100%; height:100%; overflow:hidden; }
</style>
Phần tử được cấp chiều cao 100% trong phần nội dung có chiều cao đầy đủ của khung nhìn cửa sổ và phần tử được định vị hoàn toàn bằng cách sử dụng bottom: nnPX sẽ được đặt nn pixel trên cạnh dưới của cửa sổ, v.v.
Trong các phiên bản IE hiện đại (IE10 trở lên), các thanh cuộn có thể được ẩn bằng cách sử dụng thuộc -ms-overflow-style
tính .
html {
-ms-overflow-style: none;
}
Trong Chrome, các thanh cuộn có thể được tạo kiểu:
::-webkit-scrollbar {
display: none;
}
Điều này rất hữu ích nếu bạn muốn sử dụng cơ thể cuộn 'mặc định' trong ứng dụng web, nhanh hơn đáng kể overflow-y: scroll
.
IE có một số lỗi với các thanh cuộn. Vì vậy, nếu bạn muốn một trong hai, bạn phải bao gồm những điều sau để ẩn thanh cuộn ngang:
overflow-x: hidden;
overflow-y:scroll;
và để ẩn dọc:
overflow-y: hidden;
overflow-x: scroll;
(Tôi chưa thể bình luận, nhưng tôi muốn chia sẻ điều này):
Mã của Lyncee phù hợp với tôi trong trình duyệt trên máy tính để bàn. Tuy nhiên, trên iPad (Chrome, iOS 9), nó bị treo ứng dụng. Để khắc phục, tôi đã thay đổi
document.documentElement.style.overflow = ...
đến
document.body.style.overflow = ...
đã giải quyết được vấn đề của tôi.