2009-07-07 5 views
9

मैं वर्तमान पृष्ठ प्रगति की गणना करने के लिए window.pageYOffset & window.scrollMaxY का उपयोग करने का प्रयास कर रहा हूं। यह दृष्टिकोण एफएफ 3.5 के तहत काम करता है लेकिन वेबकिट विंडो.scrollMaxY के तहत अपरिभाषित है।window.scrollMaxY के विकल्प?

उत्तर

2

मैं document.body.scrollHeight ताकि

document.body.scrollHeight = window.pageYOffset + screen height in pixels 
पेज (एंड्रॉयड पर) के अंत में

के साथ भाग मिल गया है।

14

वैकल्पिक window.scrollMaxY रहे हैं:

document.documentElement.scrollHeight - document.documentElement.clientHeight 

DOCTYPE XHTML 1.0 संक्रमणकालीन तहत IE7, IE8, ff3.5, सफारी 4, ओपेरा 10, गूगल क्रोम 3 के साथ window.scrollMaxY रूप में एक ही परिणाम देता है।

+0

आप अच्छा साहब धन्यवाद। मुझे यह जानना अच्छा लगेगा कि इस विधि का उपयोग करने के लिए कोई डाउनसाइड्स है या नहीं। मैंने बस क्रोम/फ़ायरफ़ॉक्स में इसका परीक्षण किया और यह काम करता है! – swajak

+0

'window.scrollY' के खिलाफ इसे कार्यान्वित करने का प्रयास करते हुए मैंने देखा कि कम से कम क्रोम में, 'window.scrollY' एक उच्च परिशुद्धता फ्लोट है, जबकि' scrollHeight' और 'clientHeight' पूर्णांक हैं, इसलिए मुझे' Math.round() 'यह – Kaiido

3

दो साल बाद ...

function getScrollMaxY(){ 

var innerh; 

if (window.innerHeight){ 
    innerh = window.innerHeight; 
}else{ 
    innerh = document.body.clientHeight; 
} 

if (window.innerHeight && window.scrollMaxY){ 
    // Firefox 
    yWithScroll = window.innerHeight + window.scrollMaxY; 
} else if (document.body.scrollHeight > document.body.offsetHeight){ 
    // all but Explorer Mac 
    yWithScroll = document.body.scrollHeight; 
} else { 
    // works in Explorer 6 Strict, Mozilla (not FF) and Safari 
    yWithScroll = document.body.offsetHeight; 
} 
return yWithScroll-innerh; 
} 
0
x = document.body.clientHeight; 
console.log(x ,"Cline HEight");  

xx = window.innerHeight; 
console.log(xx, "Inner Height"); 

xxx = document.body.scrollHeight 
console.log(xxx, "scrollHeight"); 

xxxx = window.scrollMaxY; 
console.log(xxxx, "scrollMaxY for IE"); 


xxxxx = document.body.offsetHeight; 
console.log(xxxxx, "offsetHeight"); 

xxxxxx= document.body.scrollTop; 
console.log(xxxxxx, "scrollTop");strong text 
संबंधित मुद्दे