मैं jQuery में विंडो की ऊंचाई और स्क्रॉलिंग स्थिति कैसे निर्धारित करूं?


179

मुझे jQuery में विंडो की ऊंचाई और स्क्रॉलिंग ऑफसेट को हथियाने की आवश्यकता है, लेकिन मुझे jQuery डॉक्स या Google में इसे खोजने का कोई सौभाग्य नहीं मिला है।

मैं 90% निश्चित हूं कि किसी तत्व के लिए ऊंचाई और स्क्रॉलटॉप तक पहुंचने का एक तरीका है (संभवतः विंडो सहित), लेकिन मैं केवल विशिष्ट संदर्भ नहीं ढूंढ सकता हूं।


2
बिना jQuery के कैसे?
कोस्टा

@ कोस्टा को संभवतः स्टैकऑवरफ्लो पर कहीं और पूछा गया है, और यदि नहीं तो वह अपना प्रश्न होना चाहिए।
एक क्रेयॉन

जवाबों:


296

JQuery डॉक्स से:

const height = $(window).height();
const scrollTop = $(window).scrollTop();

http://api.jquery.com/scrollTop/
http://api.jquery.com/height/


1
आंकड़े मैंने इसे डॉक्स में याद किया; उन्हें खोजा, लेकिन उनका संगठन स्पष्ट रूप से मेरे लिए कोई मतलब नहीं रखता है (अभी भी मुटूलों में सोच रहा है, मुझे लगता है)। धन्यवाद!
एक क्रेयॉन

यह jQuery 1.3.2 के लिए किसी भी ब्राउज़र में काम नहीं करता है, भले ही इसे पहले के संस्करण में जोड़ा गया था। या तो यहाँ या मेरे कोड में कुछ गड़बड़ है
फिल्लुमंती

11
$ (विंडो) .height () ऊंचाई व्यूपोर्ट देता है न कि स्क्रॉल ऊंचाई। $ (दस्तावेज़) .height () असली स्क्रॉल ऊंचाई देता है, जैसा कि ऐदिमिना ने सुझाव दिया था।
जोनाथन

मैं अक्सर आश्चर्यचकित होता हूं कि इस तरह की सरल चीजों को कितने upvotes करते हैं, लेकिन जब से मैंने इसे इस सप्ताह में दो बार देखा है, एक और +1
नील

41

से http://api.jquery.com/height/ (नोट: खिड़की के लिए इस्तेमाल करते हैं और दस्तावेज़ वस्तु के बीच अंतर)

$(window).height();   // returns height of browser viewport
$(document).height(); // returns height of HTML document

से http://api.jquery.com/scrollTop/

$(window).scrollTop() // return the number of pixels scrolled vertically

8

शुद्ध जेएस

window.innerHeight
window.scrollY

jquery की तुलना में 10x से अधिक तेज़ है (और कोड का आकार समान है):

यहां छवि विवरण दर्ज करें

यहां आप अपनी मशीन पर परीक्षण कर सकते हैं: https://jsperf.com/window-height-width


window.scrollY, स्क्रॉल शीर्ष ऊँचाई प्राप्त करें
xgqfrms

6
$(window).height()

$(window).width()

तत्व स्थान और ऑफसेट को निर्धारित करने के लिए jquery का एक प्लगइन भी है

http://plugins.jquery.com/project/dimensions

स्क्रॉलिंग ऑफसेट = एक तत्व की ऑफसेटहाइट गुण


1
धन्यवाद, यूसुफ। यह बिल्कुल वैसा नहीं है जैसा मैं देख रहा था क्योंकि मैं दूसरे प्लगइन का उपयोग करने से बचने की कोशिश कर रहा था, लेकिन आपने मुझे सही दिशा में खोज लिया। अंत में, यह पता चलता है कि मुझे वास्तव में क्या चाहिए था '$ (विंडो) .scrollTop ()' यह पता लगाने के लिए कि पृष्ठ के कितने ने व्यूपोर्ट अतीत को स्क्रॉल किया है तदनुसार तत्वों को समायोजित करने के लिए।
डीए।

0

यदि आपको किसी तत्व के बिंदु पर स्क्रॉल करने की आवश्यकता है। आप इसे ऊपर / नीचे स्क्रॉल करने के लिए Jquery फ़ंक्शन का उपयोग कर सकते हैं।

$('html, body').animate({
                scrollTop: $("#div1").offset().top
            }, 'slow');
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.