'Null' oder kein Objekt? N00b-Frage!

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • 'Null' oder kein Objekt? N00b-Frage!

    Hallo zusammen, kann mir bitte jemand sagen wieso mein kleiner verzweifelter Versuch ein <div> per Link scrollen zu lassen nicht funktioniert:

    Code:
    <script language="JavaScript">
     function NachUnten ()
      {
      document.formular.text.scrollBy(0, 50);
      }
    </script>
    
    <form name="formular">
     <div name="text" style="overflow:auto;width:200;height:50">
      Text<br>
      Text<br>
      Text<br>
      Text<br>
      Text<br>
     </div>
    </form>
    
    <a href="javascript:NachUnten()">Scrollen</a>
    Danke schonmal für Vorschläge oder Alternativen!

  • #2
    schaue dir mal getElementById() an. obs hilft kann ich dir aber nicht sagen.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Original geschrieben von Abraxax
      schaue dir mal getElementById() an.
      Dann aber auch eine ID vergeben.
      Helfen wirds.
      Über "document.formularname.xyz" kann man meines Wissens nur zum Formular wirklich zugehörige Eingabeelemente ansprechen.

      Kommentar


      • #4
        Ich hab jetzt mal folgendes veruscht:

        Code:
        document.getElementById("kategorie").scrollBy(0, 5);
        Geht aber auch nicht, jetzt kommt immer "Das Objekt unterstützt diese Eigenschaft oder Methode nicht". Ich glaub langsam echt dass es an diesem scrollBy liegt...

        Kommentar


        • #5
          Geht aber auch nicht,
          ... ist keine fehlerbeschreibung ....

          schaue dir mal bei http://de.selfhtml.org/ an, ob diese methode/eigenschaft unterstützt wird.
          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


          Kommentar


          • #6
            scrollBy ist eine Methode des window-Objektes.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Original geschrieben von Abraxax
              ... ist keine fehlerbeschreibung ....
              Natürlich nicht, "Das Objekt unterstützt diese Eigenschaft oder Methode nicht" dagegen schon...

              Und naja, selfHTML is' eh klar, trotzdem danke...

              scrollBy ist eine Methode des window-Objektes.
              Das heißt also dann das ich das bei divs vergessen kann...

              Hat vllt jemand Vorschläge wie man das anders lösen könnte? Danke schonmal!

              Kommentar


              • #8
                Du scheinst das Script nur im IE zu testen. Der IE ist das letzte in Sachen JavaScript Fehler und nicht nur in dieser..
                Das sollte dir auf jeden Fall weiterhelfen:
                PHP-Code:
                <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
                <
                html xmlns="http://www.w3.org/1999/xhtml">
                <
                head>
                <
                meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
                <
                title>Unbenanntes Dokument</title>

                <
                script language="JavaScript">
                    function 
                NachUnten ()
                    {
                        var 
                objDiv document.getElementById('div_scroll');
                        if ( 
                typeof(objDiv) == 'object' )
                            
                objDiv.scrollTop objDiv.scrollHeight;    
                    }
                </
                script>
                </
                head>

                <
                body>

                <
                form name="formular">
                 <
                div name="text" style="overflow:auto;width:200px;height:60px;" id="div_scroll">
                  
                Text 0<br>
                  
                Text 1<br>
                  
                Text 2<br>
                  
                Text 3<br>
                  
                Text 4<br>
                  
                Text 5<br>
                  
                Text 6<br>
                  
                Text 7<br>
                  
                Text 8<br>
                  
                Text 9<br>
                 </
                div>
                </
                form>

                <
                a href="javascript:NachUnten()">Scrollen</a>

                </
                body>
                </
                html
                OffTopic:
                BTW: Lad dir lieber den aktuellen Mozilla auf deinen PC und übe mit der JavaScript Console und dem DOM Inspector. Sind nützliche Werkzeuge wenn man um JavaScript nicht herum kommt.
                Zuletzt geändert von reallife; 20.12.2005, 14:55.

                Kommentar


                • #9
                  Danke, das klappt einwandfrei!

                  Du hast mich aber glaub ich falsch verstanden, ich will nämlich nicht nach ganz unten scrollen, sondern nur um ein paar Pixel... Meinst du das wär auch realisierbar?

                  Kommentar


                  • #10
                    Klar kann man das machen. Man könnte die Funktion um einen Parameter erweitern und diesem Parameter dann die Höhe in Pixel mitgeben um die gescrollt werden soll.
                    Also ungefähr so:
                    PHP-Code:
                    <script language="JavaScript">
                        function 
                    NachUnten (intPX)
                        {
                            var 
                    objDiv document.getElementById('div_scroll');
                            if ( 
                    typeof(objDiv) == 'object' )
                            {
                                if ( (
                    objDiv.scrollTop+intPX) > objDiv.scrollHeight )
                                    
                    objDiv.scrollTop objDiv.scrollHeight;
                                else
                                    
                    objDiv.scrollTop += intPX;
                            }
                        }
                    </
                    script
                    So und jetzt musst du die Funktion nur noch mit dem Parameter aufrufen. Ich hab das jetzt nicht getestet, aber ich hoffe es geht
                    PHP-Code:
                    <a href="javascript:NachUnten(30);">Scrollen um 30px</a
                    ^^ "java script" natürlich zusammengeschrieben; kA warum er das mit nem Leerzeichen darstellt.
                    Zuletzt geändert von reallife; 20.12.2005, 19:23.

                    Kommentar


                    • #11
                      Besten Dank, warst mir wikrlich eine extrem große Hilfe!!

                      Kommentar

                      Lädt...
                      X