2009-07-06 13 views
11

मैं जावास्क्रिप्ट और jQuery का उपयोग कर किसी पृष्ठ की कुल ऊंचाई प्राप्त करने का प्रयास कर रहा हूं, इसलिए मैं यह जांच सकता हूं कि पृष्ठ कुछ प्रदर्शित करने के लिए काफी लंबा है, हालांकि मेरे परीक्षण में मैं कुल ऊंचाई प्राप्त करने में असमर्थ हूं एक पृष्ठ कापृष्ठ की कुल ऊंचाई

मैंने इंटरनेट पर चारों ओर देखा है लेकिन इस तरह की चीजें अच्छी तरह से प्रलेखित नहीं लगती हैं, जैसा कि मुझे लगता है कि scrollHeight है, जैसा कि मैंने उल्लेख किया है, काम नहीं करता है।

इसे खोजने के लिए jQuery का उपयोग करने का कोई तरीका?

उत्तर

9

क्या आपने $(document).height(); को आजमाया है?

डेमो here

+0

इससे कोई त्रुटि मिलती है। –

+0

मेरे लिए काम करता है http://pastebin.me/4a52303ca45de - सुनिश्चित करें कि आपके पास फ़ायरफ़ॉक्स + फ़ायरबग कंसोल खुला है – redsquare

0

documentation पर एक नज़र डालें। समर्थित तरीकों में से एक: ऊंचाई, आंतरिक हाइट, बाहरी हाइट आपके लिए उपयुक्त हो सकता है। एक रूपरेखा के बिना

$("#footer").offset().top 
1

शायद पृष्ठ के तल पर एक तत्व की स्थिति का उपयोग करें, जैसे

var _docHeight = (document.height !== undefined) ? document.height : document.body.offsetHeight; 
var _docWidth = (document.width !== undefined) ? document.width : document.body.offsetWidth; 
2

पूरे पृष्ठ की ऊँचाई ...

document.body.offsetHeight 

व्यूपोर्ट की ऊंचाई ...

var h; 

if(self.innerHeight) 
    h = window.innerHeight 
else if(document.documentElement && document.documentElement.clientHeight) 
    h = document.documentElement.clientHeight; 
else if(document.body) 
    h= document.body.clientHeight; 

This article आपकी मदद कर सकता है।

5

document.documentElement.scrollHeight इंटरनेट एक्सप्लोरर, क्रोम, फ़ायरफ़ॉक्स और सफारी के नवीनतम संस्करण में मेरे लिए ठीक काम कर रहा है।

;(function() { 
    var pageHeight = 0; 

    function findHighestNode(nodesList) { 
     for (var i = nodesList.length - 1; i >= 0; i--) { 
      if (nodesList[i].scrollHeight && nodesList[i].clientHeight) { 
       var elHeight = Math.max(nodesList[i].scrollHeight, nodesList[i].clientHeight); 
       pageHeight = Math.max(elHeight, pageHeight); 
      } 
      if (nodesList[i].childNodes.length) findHighestNode(nodesList[i].childNodes); 
     } 
    } 

    findHighestNode(document.documentElement.childNodes); 

    // The entire page height is found 
    console.log('Page height is', pageHeight); 
})(); 

नोट::

+0

यह केवल एकमात्र है जो मेरे लिए काम करता है – ekcrisp

+0

scrollHeight आपको स्क्रॉल करने के लिए आवश्यक सामग्री सहित पृष्ठ की ऊंचाई देगा देखना। ऑफसेट हाइट आपको दृश्य विंडो सामग्री क्षेत्र की ऊंचाई देगा। – pelms

+0

और 'ऑफ़सेट हाइट' में सीमाएं, मार्जिन और पैडिंग शामिल नहीं है। –

1

आप सिर्फ एक सरल प्रत्यावर्तन के साथ वर्तमान पृष्ठ पर उच्चतम डोम नोड मिल सकता है पूरे दस्तावेज के ऊंचाई को खोजने के लिए यह Iframes के साथ काम कर रहा है।

आनंद लें!

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