2008-10-28 11 views
100

क्या jQuery या जावास्क्रिप्ट का उपयोग कर ब्राउज़र लंबवत और क्षैतिज स्क्रॉलबार अक्षम करना संभव है?ब्राउज़र लंबवत और क्षैतिज स्क्रॉलबार अक्षम करें

+0

मैं कुछ स्थितियों में लगता है कि विशेष रूप से यदि आप के बीच टॉगल करना चाहते हैं:

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

इसके अलावा, आप इस कोड के साथ फिर से सक्षम कर सकते हैं स्क्रॉल करें और इस समाधान को स्क्रॉल करने के लिए कोई अधिक स्क्रॉल नहीं है: http://stackoverflow.com/questions/8701754/just-disable-scroll-not-hide-it –

+0

आप यहां इस प्रश्न का अधिक पूरा उत्तर प्राप्त कर सकते हैं http: // stackoverflow .com/a/25561646/1 9 22144 – davidcondrey

उत्तर

47

कोशिश सीएसएस

<body style="overflow: hidden"> 
+14

ब्राउज़र के लिए संगतता मैं इस शैली को एचटीएमएल टैग में भी जोड़ूंगा: एचटीएमएल, बॉडी {ओवरफ्लो: छुपा;} – Ady

+0

इसके लिए धन्यवाद, यह अच्छा है, –

137

मामले में आप को छिपाने के लिए और इस शो स्क्रॉलबार गतिशील आप अपने कोड में कहीं

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

और

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

इस्तेमाल कर सकते हैं संभावना की जरूरत है।

+4

ओवरफ्लो छुपा हमेशा आईई में काम नहीं करता है। नीचे एंथनी WJones जवाब देखें। –

+4

'oveflow: छुपा' स्मार्टफ़ोन पर कुछ भी नहीं रोकेगा। – dvLden

+0

क्रोम में, यह स्क्रैपबार को छिपाए बिना अक्षम करता है (यह अभी भी वहां है और अभी भी बाकी सब कुछ का आकार बदल रहा है, लेकिन अब यह भूरे रंग से बाहर है) – taltamir

30

अब तक हमारे पास अतिप्रवाह है: शरीर पर छिपा हुआ है। हालांकि आईई हमेशा इसका सम्मान नहीं करता है और आपको शरीर तत्व पर स्क्रॉल = "नहीं" और/या जगह ओवरफ्लो डालना होगा: HTML तत्व पर भी छिपा हुआ है।

जब आप आप ऐसा कर सकते हैं दृश्य पोर्ट के 'नियंत्रण लेने' की जरूरत है आप आगे इस ले जा सकते हैं: -

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

एक तत्व दी ऊंचाई 100 शरीर में% खिड़की की पूरी ऊंचाई है व्यूपोर्ट, और तत्व पूरी तरह से नीचे का उपयोग कर तैनात: nnPX खिड़की के नीचे किनारे के ऊपर nn पिक्सल का गठन किया जाएगा, आदि

+2

शरीर को सीएसएस में ',' होना चाहिए ';' होना चाहिए? – paynestrike

8

मामले में आप भी इंटरनेट एक्सप्लोरर 6 के लिए समर्थन की जरूरत है सिर्फ अतिप्रवाह एचटीएमएल

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

और

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

thanx ... यह मेरे लिए काम करता है :) – Wasim

10

कोशिश सीएसएस।

आप क्षैतिज

overflow-x: hidden; 

निकालना चाहते हैं और अगर आप कार्यक्षेत्र

overflow-y: hidden; 
96
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

दो अपवॉट्स केवल शुद्ध जावास्क्रिप्ट उत्तर होने के लिए उल्लेखनीय रूप से कम है। –

+0

@ हरमन इंजजल्ड्ससन देर से जवाब अक्सर कुछ अपवॉट –

+2

@ हरमन इंजजल्ड्ससन: ओपी को देखकर जावास्क्रिप्ट या jQuery समाधान के लिए पूछा गया और 4 साल पहले एक jQuery समाधान स्वीकार कर लिया गया था, यह केवल समझ में आता है। मैं यह नहीं कह रहा हूं कि जवाब अच्छा नहीं है, सिर्फ निचले वोटों के बारे में स्पष्ट बता रहा है। वैसे भी मेरे द्वारा +1। – Nope

4

निकालना चाहते हैं तो आईई स्क्रॉलबार के साथ कुछ बग है।

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

और ऊर्ध्वाधर को छिपाने के लिए:

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

2

क्योंकि तो तुम दोनों में से या तो चाहते हैं, तो आप क्षैतिज स्क्रॉलबार को छिपाने के लिए निम्नलिखित को शामिल करना चाहिए फ़ायरफ़ॉक्स में एक तीर कुंजी शॉर्ट कट है, आप शायद सीएसएस शैली के साथ <div> डालना चाहते हैं: overflow:hidden;

8

आईई (आईई 10 और ऊपर) के आधुनिक संस्करणों में, स्क्रॉलबार को -ms-overflow-style property का उपयोग करके छुपाया जा सकता है।

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

क्रोम में, स्क्रॉलबार स्टाइल जा सकता है:

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

यह बहुत उपयोगी है आप 'डिफ़ॉल्ट' शरीर एक वेब अनुप्रयोग में स्क्रॉल है, जो काफी तेज overflow-y: scroll से है उपयोग करना चाहते हैं।

+0

केवल यह मेरे लिए सभी उत्तरों से काम किया है :) धन्यवाद! – Gediminas

+0

फ़ायरफ़ॉक्स पर काम नहीं करेगा –

3

(मैं अभी तक टिप्पणी नहीं कर सकते, लेकिन इस साझा करना चाहते थे):

Lyncee के कोड डेस्कटॉप ब्राउज़र में मेरे लिए काम किया। हालांकि, आईपैड (क्रोम, आईओएस 9) पर, यह एप्लिकेशन को दुर्घटनाग्रस्त कर दिया। इसे ठीक करने के लिए, मैं

document.body.style.overflow = ... 

जो मेरी समस्या हल करने के लिए

document.documentElement.style.overflow = ... 

बदल दिया है।

1

JQuery का उपयोग करके आप इस कोड के साथ स्क्रॉल बार अक्षम कर सकते हैं:

$('body').unbind('mousewheel'); 
संबंधित मुद्दे