zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Javascript & Ajax
Seite neu laden Script nur für Inhalt eines bestimmten DIVs

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 09.02.2013, 17:53
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 22.02.2012
Beiträge: 35
Kipperdesign befindet sich auf einem aufstrebenden Ast
Standard Script nur für Inhalt eines bestimmten DIVs

Hi Leute,


Habe da ein, für Euch vermutlich relativ einfach lösbares, Problem

Ich baue momentan eine 1-Seitige Webseite, welche per smoothscroll zu den jeweiligen Punkten scrollt (ähnliches habt Ihr bestimmt auch schon irgendwo im Web gesehen).

Am oberen Rand (fixed top) habe ich nun die Navigation, bei welcher nun natürlich der jeweilige angeklickte Navigationspunkt auch angezeigt werden soll.

Dies habe ich auch mit einem sehr simplen Script, welches ich im Web gefunden habe, gelöst. Siehe Code:

Code:
<script type="text/javascript">
function highlight(currentdiv) {
var divs = document.getElementsByTagName("div");
  for (var i = 0; i < divs.length; i++) {
       if (divs[i].id == currentdiv) {
           divs[i].style.backgroundPosition = "0px -120px";
      }
      else {
           divs[i].style.backgroundPosition = "0px 0px";
      }
  }
}
</script>
Nun habe ich allerdings das Problem dass ich ein paar Hintergrund Grafiken habe, welche mittig ausgerichtet ist.

Das Problem ist nun dass das Script nicht nur die Divs der Navigation ansteuert, sondern ALLE divs. Kurzerhand heisst dies dass sobald ich einen Navigationspunkt anklicke sämtliche Hintergrund Grafiken auf 0 0 gesetzt werden, also oben link...

Meine Frage:
Wie könnte ich das Script so anpassen dass nur die Divs innerhalb eines mir definierten Divs angesteuert würden, also zB nur die Divs welche sich innerhalb des Divs "#navigation" befänden?

Ich habe nun schon einiges durchprobiert (Google und Lösungsvorschläge ausprobiert), ende aber (da ich unglücklicherweise absolut kein JS-Profi bin) leider immer beim gleichen Resultat, nämlich dass das Script kaputt ist und nicht mehr funktioniert :P

Ich wäre Euch super dankbar wenn Ihr da irgendwelche Lösungsvorschläge hättet

PS: Falls Ihr noch mehr Infos braucht als angegeben liefere ich diese natürlich noch so gerne nach!

PS II: Bevor Ihr mich wegen der Nutzung von DIVs für eine Navigationsstruktur entgegen einer ul-li Struktur auslacht, keine Sorge, dies steht als nächstes an. Dazu muss ich aber erst am Script rumbasteln bis es wieder passt und dazu kam ich bis jetzt schlichtweg noch nicht

Geändert von Kipperdesign (09.02.2013 um 17:56 Uhr)
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 09.02.2013, 23:16
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Kipperdesign Beitrag anzeigen
Meine Frage:
Wie könnte ich das Script so anpassen dass nur die Divs innerhalb eines mir definierten Divs angesteuert würden, also zB nur die Divs welche sich innerhalb des Divs "#navigation" befänden?
Code:
var divs = document.getElementsById('navigation').getElementsByTagName("div");
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 10.02.2013, 19:39
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 22.02.2012
Beiträge: 35
Kipperdesign befindet sich auf einem aufstrebenden Ast
Standard

Hey super! Herzlichen Dank Protonenbeschleuniger!!

Werde ich gleich mal ausprobieren!

EDIT:
Ok habs ausprobiert, leider funktioniert das Script nachher nicht mehr Bzw. der Effekt funktioniert nicht mehr. Vielleicht eine Idee worans liegen könnte?

Geändert von Kipperdesign (10.02.2013 um 19:44 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 10.02.2013, 20:25
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Kipperdesign Beitrag anzeigen
Ok habs ausprobiert, leider funktioniert das Script nachher nicht mehr Bzw. der Effekt funktioniert nicht mehr. Vielleicht eine Idee worans liegen könnte?
Nein. Die Fehlerkonsole ist leer?
Mit Zitat antworten
  #5 (permalink)  
Alt 11.02.2013, 11:35
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 22.02.2012
Beiträge: 35
Kipperdesign befindet sich auf einem aufstrebenden Ast
Standard

Hi Protonenbeschleuniger,

Also die Konsole spuckt bei mir folgendes aus:

Mit Zitat antworten
  #6 (permalink)  
Alt 11.02.2013, 11:51
Benutzerbild von inta
free as in freedom
XHTMLforum-Kenner
 
Registriert seit: 04.12.2006
Ort: Berlin
Beiträge: 5.016
inta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz sein
Standard

Es muss „document.getElementById“ heißen, nicht „document.getElementsById“.
Mit Zitat antworten
  #7 (permalink)  
Alt 11.02.2013, 12:00
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

urgh, wie peinlich. Wo kam nur dieses 's' her?
Mit Zitat antworten
  #8 (permalink)  
Alt 11.02.2013, 12:36
Benutzerbild von inta
free as in freedom
XHTMLforum-Kenner
 
Registriert seit: 04.12.2006
Ort: Berlin
Beiträge: 5.016
inta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz sein
Standard

Copy & Paste von getElementsByTagName?!
Mit Zitat antworten
  #9 (permalink)  
Alt 11.02.2013, 14:03
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 22.02.2012
Beiträge: 35
Kipperdesign befindet sich auf einem aufstrebenden Ast
Standard

Hehe immer diese kleinen Schreibfehler die sich einschleichen

So hab ichs jetzt geschrieben
Code:
var divs = document.getElementById('navigation').getElementsByTagName("div");
Funktioniert jetzt perfekt!! Vielen lieben Dank für Eure Hilfe, Ihr seid spitze!!!
Mit Zitat antworten
Sponsored Links
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
DIVs wollen nicht in Container Echnotron CSS 4 22.02.2012 09:46
Lücken wenn Inhalt eines DIVs zu groß Takeliner (X)HTML 4 17.09.2006 10:56
Divs und übergroßer Inhalt FrageZeichen CSS 1 09.09.2006 00:56
div im div > 0px ?! sumone CSS 1 11.08.2006 01:31
Breite von DIVs Daniel CSS 8 23.06.2003 19:01


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:48 Uhr.