Sancho: herausfinden ob Seite ganz nach unten gescrollt

Beitrag lesen

Hi Jeena,

(...)Aber woher ich einen Wert bekomme, der mir die Höhe des ganzen Inhalts in px sagt (...)

für Deinen Zweck brauchst Du eigentlich nur die Scrollposition; dann kannst Du solange nach unten scrollen, bis es nicht mehr weiter geht. Du musst halt nur überprüfen, ob es 'weitergeht', und wenn nicht, dann halt wieder von vorne anfangen.
Folgendes Skript müsste einigermaßen browserübergreifend laufen.

Grüße,

Sancho

---

<html>
<head>
<script type="text/javascript">

  
  scrollObj = null;  // (das fragliche Objekt, mit der Eigenschaft 'Scrollposition')  
  scrollKey = null;  // (der Name dieser Eigenschaft)  
  
  function scrollStep()  
  {  
    y = scrollObj[scrollKey];       // Aktuelle Position speichern  
    scroll(0,y+1);                  // und mal schauen...  
    if (scrollObj[scrollKey] == y)  // Keine Änderung: Seitenende ist erreicht.  
      scroll(0,0);                  // -> Dann halt wieder von vorne.  
    setTimeout('scrollStep()',1);   // Usw. ad infinitum.  
  }  
  
  function initScrolling()  
  
  /* (Fragt - onload und einmalig - Objekt und Eigenschaftsnamen ab  
     und startet, wenn etwas brauchbares gefunden wurde, die Aktion.) */  
  
  {  
    // (Am besten immer erstmal die DOM-Knoten abgrasen, da das babylonische  
    //  Wirrwarr in punkto Objektzugriff, -namen und -eigenschaftsnamen hier  
    //  am geringsten ist.)  
  
    if (document.getElementsByTagName)  
     if (scrollObj = document.getElementsByTagName('BODY'))  
      if (scrollObj = scrollObj[0]) // (Dieses wird gesucht.)  
       if (scrollObj[scrollKey = 'scrollTop'] !== 'undefined')  
    {  
      scrollStep();  
      return;  
    }  
  
    // (Erst im zweiten Schritt ggf. browserspezifische Variablen abfragen)  
  
    if (window.pageYOffset !== 'undefined')  
    {  
      scrollObj = window;  
      scrollKey = 'pageYOffset';  
      scrollStep();  
      return;  
    }  
  
    if (document.body? (document.body.scrollTop !== 'undefined') : 0)  
    {  
      scrollObj = document.body;  
      scrollKey = 'scrollTop';  
      scrollStep();  
    }  
  
  }  

</script>
</head>
<body onload='initScrolling()' style="background-color:black;">
  <div style="font-family:'Courier New', Courier, mono;
              font-size:128px; color:orange; text-align:center">
    <script type="text/javascript">
      for ($i=0; $i<25; $i++) document.write('o<br />');
    </script>
  </div>
</body>
</html>