• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Ueber elemente iterieren und focus setzen

syrvn

Neues Mitglied
Hi,


ich will verschiedene Ankerpunkte in meine Webseite einbauen und sobald ich eine bestimmte Taste drücke z.B. Enter dann soll der nächste Ankerpunkt fokussiert (mit .focus()) werden. Folgenden code habe ich geschrieben. Allerdings funktioniert dieser nur bedingt. Ich glaube die While schleife ist was ich brauche allerdings schmiert mein browser bereits nach ein paar Sekunden ab sobald ich das erste mal Enter gedrückt habe... Kann mir jemand helfen mein vorhaben zu realisieren? Der v_spacer ist nur dazu da die anchor punkte weit nach unten zu verschieben, um zu sehen ob die Funktion auch wirklich funktioniert. Man sieht das dann natürlich in Form dass der Browser nach unten scrollt sobald der Focus gesetzt ist.


Danke


Code:
[COLOR=#3b3df5][COLOR=#009292]<[/COLOR][COLOR=#489191]html[/COLOR][COLOR=#97238c]xmlns[/COLOR][COLOR=#000000]=[/COLOR]"http://www.w3.org/1999/xhtml"[COLOR=#009292]>[/COLOR][/COLOR]
[COLOR=#489191][COLOR=#009292]<[/COLOR]head[COLOR=#009292]>[/COLOR][/COLOR]
[COLOR=#3b3df5][COLOR=#000000]        [/COLOR][COLOR=#009292]<[/COLOR][COLOR=#489191]meta[/COLOR][COLOR=#97238c]http-equiv[/COLOR][COLOR=#000000]=[/COLOR]"content-type"[COLOR=#97238c]content[/COLOR][COLOR=#000000]=[/COLOR]"text/html; charset=UTF-8"[COLOR=#009292]></[/COLOR][COLOR=#489191]meta[/COLOR][COLOR=#009292]>[/COLOR][/COLOR]
        [COLOR=#009292]<[/COLOR][COLOR=#489191]title[/COLOR][COLOR=#009292]>[/COLOR]Web Presentations[COLOR=#009292]</[/COLOR][COLOR=#489191]title[/COLOR][COLOR=#009292]>[/COLOR]
[COLOR=#3b3df5][COLOR=#000000]         [/COLOR][COLOR=#009292]<[/COLOR][COLOR=#489191]link[/COLOR][COLOR=#97238c]href[/COLOR][COLOR=#000000]=[/COLOR]"style.css"[COLOR=#97238c]rel[/COLOR][COLOR=#000000]=[/COLOR]"stylesheet"[COLOR=#97238c]type[/COLOR][COLOR=#000000]=[/COLOR]"text/css"[COLOR=#009292]></[/COLOR][COLOR=#489191]link[/COLOR][COLOR=#009292]>[/COLOR][/COLOR]
              
[COLOR=#489191][COLOR=#009292]</[/COLOR]head[COLOR=#009292]>[/COLOR][/COLOR]


[COLOR=#97238c][COLOR=#009292]<[/COLOR][COLOR=#489191]body[/COLOR]onKeyPress[COLOR=#000000]=[/COLOR][COLOR=#3b3df5]"check()"[/COLOR][COLOR=#009292]>[/COLOR][/COLOR]
    
[COLOR=#3b3df5][COLOR=#000000]    [/COLOR][COLOR=#009292]<[/COLOR][COLOR=#489191]div[/COLOR][COLOR=#97238c]class[/COLOR][COLOR=#000000]=[/COLOR]"v_spacer5000px"[COLOR=#009292]></[/COLOR][COLOR=#489191]div[/COLOR][COLOR=#009292]>[/COLOR][/COLOR]
    
    [COLOR=#009292]<[/COLOR][COLOR=#489191]a[/COLOR] [COLOR=#97238c]href[/COLOR]=[COLOR=#3b3df5]"#"[/COLOR] [COLOR=#97238c]id[/COLOR]=[COLOR=#3b3df5]"anchor"[/COLOR][COLOR=#009292]>[/COLOR]anchor[COLOR=#009292]</[/COLOR][COLOR=#489191]a[/COLOR][COLOR=#009292]>[/COLOR]
    
[COLOR=#3b3df5][COLOR=#000000]    [/COLOR][COLOR=#009292]<[/COLOR][COLOR=#489191]div[/COLOR][COLOR=#97238c]class[/COLOR][COLOR=#000000]=[/COLOR]"v_spacer5000px"[COLOR=#009292]></[/COLOR][COLOR=#489191]div[/COLOR][COLOR=#009292]>[/COLOR][/COLOR]
    
    [COLOR=#009292]<[/COLOR][COLOR=#489191]a[/COLOR] [COLOR=#97238c]href[/COLOR]=[COLOR=#3b3df5]"#"[/COLOR] [COLOR=#97238c]id[/COLOR]=[COLOR=#3b3df5]"anchor2"[/COLOR][COLOR=#009292]>[/COLOR]anchor2[COLOR=#009292]</[/COLOR][COLOR=#489191]a[/COLOR][COLOR=#009292]>[/COLOR]
     
[COLOR=#3b3df5][COLOR=#000000]     [/COLOR][COLOR=#009292]<[/COLOR][COLOR=#489191]script[/COLOR][COLOR=#97238c]type[/COLOR][COLOR=#000000]=[/COLOR]"text/javascript"[COLOR=#009292]>[/COLOR][/COLOR]
    
     [COLOR=#961a65]function[/COLOR] check() {
    
              [COLOR=#961a65]var[/COLOR] divs = document.getElementsByTagName([COLOR=#3b3df5]"a"[/COLOR]);
[COLOR=#489075][COLOR=#000000]             [/COLOR]//divs now contain each and every div element on the pag[COLOR=#000000]e[/COLOR][/COLOR]
             [COLOR=#961a65]var[/COLOR] selectionDiv = document.getElementById([COLOR=#3b3df5]"anchor"[/COLOR]);
                 
             [COLOR=#961a65]var[/COLOR] i=0;
                 
             [COLOR=#961a65]while[/COLOR] (i [COLOR=#4d78c5]<[/COLOR]= divs.length)
             {
                 [COLOR=#961a65]if[/COLOR] (event.keyCode == 13) {
                          
                      [COLOR=#961a65]var[/COLOR] j = divs[i]
                              
                      j.focus()
                              
[COLOR=#3b3df5][COLOR=#000000]                      alert([/COLOR]"Enter key pressed"[COLOR=#000000]);[/COLOR][/COLOR]
                              
                      i++;    
                      
                  }       
             }
                       
     }    
    
[COLOR=#489191][COLOR=#000000]    [/COLOR][COLOR=#009292]</[/COLOR]script[COLOR=#009292]>[/COLOR][/COLOR]


[COLOR=#489191][COLOR=#009292]</[/COLOR]body[COLOR=#009292]>[/COLOR][/COLOR]


[COLOR=#489191][COLOR=#009292]</[/COLOR]htm[/COLOR]
 
Werbung:
Ich nehme mal an, die fehlenden Leerzeichen sind ein Kopierproblem?

Du greifst da im JavaScript vermutlich auf ein Objekt event zu, das überhaupt nicht definiert ist. Deshalb wird i nicht hochgezählt, deshalb läuft die Schleife vermutlich endlos.

</htm ist so auch nicht korrekt.

Edit: Zur Logik von i dann später was. Die ist auch nicht einwandfrei.
 
Zuletzt bearbeitet:
Zurück
Oben