जवाबों:
वे दोनों एक ही प्रभाव के लिए जा रहे हैं ।
लेकिन, जैसा कि टिप्पणी में कहा: $(window).scrollTop()
अधिक वेब ब्राउज़र द्वारा समर्थित है की तुलना में $('html').scrollTop()
।
scrollTop
कहीं भी स्क्रॉल नहीं होता है, लेकिन बस वर्तमान स्क्रॉल स्थान देता है।
scrollTop()
एक गेट्टर है और scrollTop(value)
एक सेटर है। scrollTop()
बिना तर्क के स्क्रॉल की स्थिति नहीं बदलती है।
सबसे पहले, आपको window
और के बीच के अंतर को समझने की जरूरत है document
। window
वस्तु एक शीर्ष स्तर ग्राहक के पक्ष वस्तु है। window
वस्तु के ऊपर कुछ भी नहीं है । जावास्क्रिप्ट एक वस्तु केंद्रित भाषा है। आप एक वस्तु से शुरू करते हैं और इसके गुणों या इसके समूह के गुणों के तरीकों को लागू करते हैं। उदाहरण के लिए, document
वस्तु window
वस्तु है। बदलने के लिए document
की पृष्ठभूमि रंग, आप सेट करते हैं document
s ' bgcolor
संपत्ति।
window.document.bgcolor = "red"
अपने प्रश्न का उत्तर देने के लिए, के बीच अंतिम परिणाम में कोई अंतर नहीं है window
और document
scrollTop
। दोनों एक ही आउटपुट देंगे।
सामान्य उपयोग में document
मुख्य रूप से घटनाओं रजिस्टर और उपयोग करने के लिए window
की तरह काम करने के लिए scroll
, scrollTop
और resize
।
ऐसा करने का क्रॉस ब्राउज़र तरीका है
var top = ($(window).scrollTop() || $("body").scrollTop());
$("body").scrollTop()
Google Chrome में हमेशा 0 लौटाएं।
$("body").scrollTop()
पदावनत किया जाता है, अब क्रोम या एफएफ पर काम नहीं करता है । यह 0
मैं बस के साथ इसी तरह की समस्याओं में से कुछ था scrollTop
यहाँ वर्णित के ।
अंत में मुझे चयनकर्ता का उपयोग करके फ़ायरफ़ॉक्स और IE पर इसके चारों ओर मिला$('*').scrollTop(0);
सही नहीं है यदि आपके पास ऐसे तत्व हैं जिन्हें आप प्रभावित नहीं करना चाहते हैं, लेकिन यह दस्तावेज़, निकाय, HTML और विंडो असमानता के आसपास हो जाता है। यदि यह मदद करता है ...
$("html,body").scrollTop(val)
- कभी भी कोई मुद्दा नहीं था