2012-07-30 11 views
6

अगर मैं सूत्रपृष्ठ की अधिकतम स्क्रॉल स्थिति कैसे प्राप्त करें?

document_height - window_height = max_scroll_position 

यह 1 या 0 पर मूल्यांकन करता है, हालांकि मेरा मानना ​​है कि यह लगातार 0. उदाहरण के लिए, को फ़ायरफ़ॉक्स पर खुला कंसोल, स्क्रॉल पृष्ठ के नीचे पर मूल्यांकन करना चाहिए का उपयोग http://stackoverflow.com और कंसोल पर निम्न कार्य करें: मैं जवाब के रूप में 1 मिलता

($(document).height() - $(window).height()) - $(document).scrollTop() 

jquery.com कैसे पर (नीचे सबसे करने के लिए स्क्रॉल स्थिति को बनाये रखने के लिए याद) कभी, ऊपर दिए गए 0

मुझे क्या याद आ रही है?

+0

मैं 0 'हो जब की तह तक स्क्रॉल पृष्ठ और उस कोड (क्रोम) को चला रहा है, और फ़ायरफ़ॉक्स में 1 (कंसोल और फ़ायरबग में निर्मित)। – travis

+0

यदि आप क्रोम का उपयोग कर रहे हैं, तो आप ज़ूम इन हो सकते हैं। मूल ज़ूम स्तर पर ज़ूम आउट करें, और आपको '0' मिलेगा। –

+1

उपयोगकर्ताओं को ज़ूम किया जा सकता है, इसलिए इस प्रश्न का उत्तर शायद इसके लिए खाता होना चाहिए। – Brilliand

उत्तर

2

कुछ परीक्षण के बाद, अतिरिक्त 1 पिक्सेल निश्चित रूप से त्रुटि को घेर रहा है। उन तीनों चर (दस्तावेज़ ऊंचाई, खिड़की की ऊंचाई और स्क्रॉल टॉप) को या तो कुछ अधिक आंतरिक परिशुद्धता या अनजान ब्राउज़र विंडो के पैमाने पर बनाए रखा जाता है, फिर जावास्क्रिप्ट गुणों की आवश्यकताओं के अनुरूप आवश्यक स्केल और गोल किया जाता है। कुछ किनारे के मामलों में, जो ज़ूम अनुपात बढ़ने की संभावना अधिक हो जाती है, वे मान इस तरह से गोल होते हैं जो आपके द्वारा देखे गए असंगत परिणामों का उत्पादन करता है।

जब तक कि आप उन चरों में से किसी एक को अन्य चर के मूल्यों के आधार पर कई बार तेजी से समायोजित नहीं कर रहे हैं, तो यह गोल करने वाली त्रुटि उपयोगकर्ता को दिखाई देने वाली किसी भी समस्या का कारण बनने की संभावना नहीं है। यदि आपको उन्हें अक्सर समायोजित करना है, तो आपको शायद समायोजित संख्याओं को कैश करना चाहिए, और आगे की गणना के लिए ब्राउज़र-रिपोर्ट किए गए नंबरों के बजाय अपने कैश किए गए संस्करण का उपयोग करना चाहिए।

[नोट:। मैं अंत में फ़ायरफ़ॉक्स में 250% की एक ज़ूम पर की -1 ओपी में सूत्र का उपयोग कर एक गोलाई त्रुटि मिलना कर रहा था]

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