2010-05-26 16 views
6

मुझे यह जानने की ज़रूरत है कि ब्राउजर विंडो में लंबवत स्क्रॉलबार दिखाई दे रहा है या नहीं। क्या यह jQuery या किसी अन्य तरीके से संभव है?कैसे पता चलेगा कि स्क्रॉलबार ब्राउज़र (jQuery) में दिखाई दिए हैं या नहीं?

उत्तर

7
इस तरह

:

if (document.documentElement.scrollHeight === document.documentElement.clientHeight) { 
    //There is no vertical scrollbar 
} 

यह आईई

+0

स्क्रॉल-बार स्पष्ट रूप से 'body {overflow-y: छुपा; } ', इस मामले में आपका कोड झूठी सकारात्मक रिपोर्ट करेगा ... –

+0

यह तब भी काम नहीं करता है जब शरीर स्वयं छोटा होता है, लेकिन एक बिल्कुल स्थित तत्व आंशिक रूप से व्यूपोर्ट से आगे बढ़ गया है और यूए ने स्क्रॉलबार दिखाए हैं (उस उदाहरण में शरीर की ऊंचाई/चौड़ाई नहीं बदली है, लेकिन निश्चित रूप से स्क्रॉलबार मौजूद हैं)। –

1

खिड़की की ऊंचाई के साथ दस्तावेज़ की ऊंचाई की तुलना करें। यदि यह अधिक है तो शायद एक स्क्रॉलबार है जब तक कि आप इसे अक्षम नहीं करते।

+0

गलत। खिड़की की ऊंचाई में टूलबार और मेनू जैसे क्रोम तत्व शामिल हैं। – SLaks

+0

आह हाँ मैं वास्तव में व्यूपोर्ट ऊंचाई टाइप करना चाहता था, मेरा बुरा। – CharlesLeaf

4

में काम नहीं करता यह एक पुरानी पोस्ट है, लेकिन मैं अंत में कोड है कि यह भी IE7 पर काम करता है मिला है। उम्मीद है कि यह किसी की मदद कर सकता है।

var hasScrollbar = $('body').outerHeight() > $(window).height(); 
+0

यह पूरी तरह से स्थित तत्वों के लिए काम नहीं करता है जो व्यूपोर्ट से बाहर हैं (स्क्रॉलबार का कारण बनते हैं) जब शरीर स्वयं छोटा होता है। –

संबंधित मुद्दे