Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Javascript

कैसे पता लगाया जाए कि कोई उपयोगकर्ता जावास्क्रिप्ट के साथ किसी पृष्ठ के नीचे स्क्रॉल करता है

जानें कि कैसे पता लगाया जाए कि कोई उपयोगकर्ता कच्चे जावास्क्रिप्ट वाले पृष्ठ के नीचे की ओर स्क्रॉल करता है।

कभी-कभी आप किसी ईवेंट को ट्रिगर करना चाहते हैं, जब उपयोगकर्ता किसी पृष्ठ या किसी विशिष्ट अनुभाग के नीचे स्क्रॉल करता है।

स्क्रॉल टू बॉटम डिटेक्शन (सभी आधुनिक ब्राउज़रों में काम करता है, IE9 और ऊपर)

window.onscroll = function() {
 if (window.innerHeight + window.pageYOffset >= document.body.offsetHeight) {
  alert("At the bottom!")
 }
}

एज केस समाधान:

यदि पहला काम नहीं करता है, तो Math.ceil() . का उपयोग करके देखें window.pageYOffset . पर विधि :

window.onscroll = function() {
  if ((window.innerHeight + Math.ceil(window.pageYOffset)) >= document.body.offsetHeight) {
  alert('At the bottom!')
  }
}

Math.ceil का उपयोग करने का कारण यह है कि कुछ ब्राउज़र तत्वों पर उप-पिक्सेल परिशुद्धता का उपयोग करते हैं। उदा. चौड़ाई या ऊंचाई 500.25px हो सकती है।

Math.ceil ऊपर की ओर गोल होगा, उदा। 1.45px 2px हो जाता है।

कुछ मैक कंप्यूटरों के साथ भी एक समस्या है, जो विंडो की ऊंचाई को 1px से ऑफ़सेट करते हैं। इसे हल करने के लिए आप दस्तावेज़ की ऊंचाई से कुछ पिक्सेल घटा सकते हैं:

(window.innerHeight + window.pageYOffset) >= document.body.offsetHeight - 2

नोट:scrollY अक्सर pageYOffset . के बजाय प्रयोग किया जाता है . लेकिन scrollY इंटरनेट एक्सप्लोरर में काम नहीं करता है। आधुनिक क्रॉस-ब्राउज़र संगतता के लिए, pageYOffset . का उपयोग करें ।

यहां एक कोडपेन एक कार्यशील उदाहरण दिखा रहा है।

यदि आप window.innerHeight . के बीच संबंध को लेकर भ्रमित हैं , window.pageYOffset , और document.body.offsetHeight यहां एक छोटा सहायक कार्य है जो आपके स्क्रॉल करते समय प्रत्येक के पिक्सेल मान को लॉग करता है:

window.onscroll = function() {
  console.log('Window height (px):', window.innerHeight)
  console.log('Currently scrolled from top (px):', window.pageYOffset)
  console.log('Document height(px):', document.body.offsetHeight)   
}

इससे यह समझना आसान हो जाएगा कि स्क्रॉल डिटेक्शन फ़ंक्शन कैसे काम करता है। प्रारंभ में pageYOffset मुझे भ्रमित कर दिया। यह वर्तमान . की संख्या को दर्शाता है पिक्सेल ऊपर से लंबवत स्क्रॉल करते हैं।


  1. मैं अपने वेब पेज को जावास्क्रिप्ट के साथ कैसे पुनर्निर्देशित करूं?

    हो सकता है कि आपने एक ऐसी स्थिति का सामना किया हो जहां आपने किसी पृष्ठ X पर पहुंचने के लिए किसी URL पर क्लिक किया हो लेकिन आंतरिक रूप से आपको दूसरे पृष्ठ Y पर निर्देशित किया गया हो। यह पृष्ठ पुनर्निर्देशन के कारण होता है। क्लाइंट साइड पर जावास्क्रिप्ट का उपयोग करके पेज रीडायरेक्ट करना काफी आसान है।

  1. कैसे पता लगाएं कि ब्राउज़र जावास्क्रिप्ट के साथ ऑनलाइन है या ऑफलाइन?

    जावास्क्रिप्ट के साथ यह पता लगाने के लिए कि ब्राउज़र ऑनलाइन है या ऑफलाइन, कोड इस प्रकार है - उदाहरण जावास्क्रिप्ट उदाहरण के साथ ऑनलाइन या ऑफलाइनआप ऑनलाइन हैं या नहीं यह जांचने के लिए नीचे दिए गए बटन पर क्लिक करेंऑनलाइन/ऑफलाइन जांचें function checkOnlineOffline() { if(navigator.onLine===true){ docume

  1. जावास्क्रिप्ट के साथ स्क्रीन रिज़ॉल्यूशन का पता कैसे लगाएं?

    स्क्रीन रिज़ॉल्यूशन का पता लगाने के लिए, window.screen की अवधारणा का उपयोग करें। चौड़ाई के लिए, निम्न का उपयोग करें - window.screen.availWidth ऊंचाई के लिए - window.screen.availHeight स्क्रीन रिज़ॉल्यूशन का पता लगाने के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en&q