क्या jQuery या जावास्क्रिप्ट का उपयोग करके ब्राउज़र को लंबवत और क्षैतिज स्क्रॉलबार अक्षम करना संभव है?
क्या jQuery या जावास्क्रिप्ट का उपयोग करके ब्राउज़र को लंबवत और क्षैतिज स्क्रॉलबार अक्षम करना संभव है?
जवाबों:
मामले में आपको स्क्रॉलबार को गतिशील रूप से छिपाने और दिखाने की संभावना है, जिसका आप उपयोग कर सकते हैं
$("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 हमेशा यह सम्मान नहीं करता है और आपको 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;
}
क्रोम में, स्क्रॉलबार को स्टाइल किया जा सकता है:
::-webkit-scrollbar {
display: none;
}
यदि आप किसी वेब एप्लिकेशन में 'डिफ़ॉल्ट' बॉडी स्क्रॉलिंग का उपयोग करना चाहते हैं, तो यह बहुत उपयोगी है, जो इससे काफी तेज है overflow-y: scroll।
(मैं अभी तक टिप्पणी नहीं कर सकता, लेकिन यह साझा करना चाहता था):
Lyncee के कोड ने डेस्कटॉप ब्राउजर में मेरे लिए काम किया। हालाँकि, iPad (Chrome, iOS 9) पर, इसने एप्लिकेशन को क्रैश कर दिया। इसे ठीक करने के लिए, मैं बदल गया
document.documentElement.style.overflow = ...
सेवा
document.body.style.overflow = ...
जिससे मेरी समस्या हल हो गई।
JQuery का उपयोग करके आप स्क्रॉलिंग बार को इस कोड के साथ अक्षम कर सकते हैं:
$('body').on({
'mousewheel': function(e) {
if (e.target.id == 'el') return;
e.preventDefault();
e.stopPropagation();
}
});
इसके अलावा आप इस कोड के साथ इसे फिर से सक्षम कर सकते हैं:
$('body').unbind('mousewheel');