juewi: weiter im Programm: Script-Verbesserung

Beitrag lesen

Hättetst Du damals die Beispiele studiert, die wir Dir gaben, und bei evtl. Nichtverstehen nachgefragt, was im Code wozu zuständig ist, wärst Du schon lange fertig ;)
Dort gab es bereits zwei Listen, die durch einen Rahmen (border-top) getrennt sind.

Es sei mir verziehen, zur damaligen Diskussion war ich noch überwiegend mit der Erfassung des Scripts ausgelastet und hab mir die CSS-Codierung einfach nicht angeschaut bzw. verstehe ich davon vieles erst JETZT. Ich lerne zwar schnell aber in kleinen Dosen ;-)

Ich würde eine Funktion schreiben, um die vielen »onclick« im Code nicht notieren zu müssen. Schau Dir noch mal das alte Beispiel an!

• den Thumbs-Links eine Klasse verpassen (z.B. »thumbs«: <a class="thumbs" ...>)
• im JavaScript diese Links ansprechen:

var a = document.links;

for (var i = 0; i < a.length; i++) {
         if (a[i].className == 'thumbs') {
           a[i].onclick = function() {
             var name = this.href;
             tausch(name);
             return false;
           }
         }
       }


>   
> »`document.links`{:.language-javascript}« sammelt alle Links im Dokument in einer »Collection«. In der Schleife werden alle Links durchgelaufen, und nur für diejenigen mit der Klasse »thumbs« wird eine Funktion für den Klick-Event definiert.  

Darf ich das für mich versuchen laienhaft zu erklären?  
- document.links = JS-eigenes Objekt, dass Links im HTML-Code rausliest; wird der Variable "a" zugewiesen  
- mit Zähler "i" wird die Schleife solange durchlaufen bis alle (?) Links im HTML-Code durchlaufen sind? Jeder Link bekommt mit "i" eine Zahl und kann dann damit angesprochen werden?  
- wenn der Link "blabla.at" nun eine Klasse "thumb" hat führe hier durch "onclick" eine Funktion aus, IN DER wiederum die Funktion "tausch" ausgeführt wird und der das Linkziel mit "this.href" mitgegeben wird.  
- "return false" damit bei aktiviertem JS der Link selbst NICHT ausgeführt wird sondern eben die Funktion "tausch"  
- aber WANN und WODURCH und WIE OFT soll dieses Script denn ausgeführt werden?  
  
Tja ... und jetzt zerreisst mich in der Luft ;-)  
  
  

> Der reinen Prettyheit (!) des Codes wegen würde ich nicht so viele Leerzeilen machen...  

Naja, das ist nur für das Entwicklungsstadium für mich zwecks besserer Lesbarkeit im normalen Editor. Wird nach Fertigstellung verschlankt, ganz sicher.  
  

> Viele Grüße aus Frankfurt/Main,  
> Patrick  

Ebensolche retour aus Graz  
LG, Jürgen