Tarayıcıların dikey ve yatay kaydırma çubuklarını jQuery veya javascript kullanarak devre dışı bırakmak mümkün müdür?
Tarayıcıların dikey ve yatay kaydırma çubuklarını jQuery veya javascript kullanarak devre dışı bırakmak mümkün müdür?
Yanıtlar:
Kaydırma çubuklarını dinamik olarak gizleme ve gösterme olanağına ihtiyacınız olursa,
$("body").css("overflow", "hidden");
ve
$("body").css("overflow", "auto");
kodunuzda bir yerde.
oveflow: hiddenakıllı telefonlarda hiçbir şeyi engellemez.
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
}
Şimdiye kadar taşma var: vücutta gizli. Ancak IE bunu her zaman kabul etmez ve body öğesine de scroll = "no" koymanız ve / veya overflow: hidden'ı html öğesinde de yerleştirmeniz gerekir.
Görüntü bağlantı noktasının 'kontrolünü ele almanız' gerektiğinde bunu daha da ileri götürebilirsiniz, bunu yapabilirsiniz: -
<style>
body {width:100%; height:100%; overflow:hidden; margin:0; }
html {width:100%; height:100%; overflow:hidden; }
</style>
Gövdede% 100 yükseklik verilen bir öğe, pencere görünüm alanının tam yüksekliğine sahiptir ve kesinlikle alt kullanılarak konumlandırılan öğe: nnPX, pencerenin alt kenarının nn piksel üstüne ayarlanacaktır, vb.
IE'nin modern sürümlerinde (IE10 ve üzeri), kaydırma çubukları -ms-overflow-styleözellik kullanılarak gizlenebilir .
html {
-ms-overflow-style: none;
}
Chrome'da, kaydırma çubuklarının stili şu şekildedir:
::-webkit-scrollbar {
display: none;
}
Bir web uygulamasında 'varsayılan' gövde kaydırmayı kullanmak istiyorsanız bu çok kullanışlıdır, ki bu çok daha hızlıdır overflow-y: scroll.
IE'nin kaydırma çubuklarında bazı hataları var. Dolayısıyla, ikisinden birini istiyorsanız, yatay kaydırma çubuğunu gizlemek için aşağıdakileri eklemelisiniz:
overflow-x: hidden;
overflow-y:scroll;
ve dikey gizlemek için:
overflow-y: hidden;
overflow-x: scroll;
(Henüz yorum yapamam ama bunu paylaşmak istedim):
Lyncee'nin kodu masaüstü tarayıcısında benim için çalıştı. Ancak iPad'de (Chrome, iOS 9) uygulamanın çökmesine neden oldu. Düzeltmek için değiştirdim
document.documentElement.style.overflow = ...
için
document.body.style.overflow = ...
bu benim sorunumu çözdü.