Hallo Junny,
so, ich hab's geschafft, es funktioniert (noch nicht in allen Browsern getestet)!
Und zwar habe ich
onload ergänzt:
Code:
<body onload="[B]initGalerie(),[/B]load()" onunload="GUnload()">
Ist das so korrekt? Oder muss ich jetzt
Code:
window.onload = initGalerie;
aus dem Galerie-Script löschen?
Gleich noch eine Frage, um noch ein bisschen was zu lernen (muss allerdings
zugeben, dass ich noch nicht danach gegoogelt oder Bücher gewälzt habe):
Für mein Layout ist es sinnvoll, den Pfeilen eine zusätzliche Klasse zu geben,
die habe ich erstmal hinter die beiden bereits vorhandenen geschrieben:
Code:
<a href="javascript:bild(num);" class="pfeil-li nur-bei-js galeriepfeil" id="bild-li">
das hat nicht funktioniert...
Da in dem Script
Code:
a.className = a.className.split(" nur-bei-js")[0];
steht, habe ich mir gedacht, ich schreibe die Klasse mal davor...
=> funktioniert, also scheint diese Script-Zeile nicht nur die Klasse "nur-bei-js"
zu entfernen, sondern auch alle Klassen, die danach kommen?
Liegt das an der [0]?
Hier noch die Warnungen:
Warnung: assignment to undeclared variable thumbList Zeile: 7
Warnung: assignment to undeclared variable thumbLink Zeile: 8
Warnung: assignment to undeclared variable a Zeile: 12
Warnung: assignment to undeclared variable j Zeile: 35
Warnung: assignment to undeclared variable thumbListItem Zeile: 7
i habe ich selbst schon ergänzt, in Zeile 2:
var i = 0;
Viele Grüße
Bernhard
Edit: noch was ist mir aufgefallen, der IE < 6 kommt mit der Zuweisung
mehrer Klassen nicht zurecht, wird also die Pfeile immer anzeigen (noch
nicht getestet) und das auch noch an der falschen Position...
Dafür eine eigene CSS zu schreiben, ist kein Problem. Aber darin würde ich
ihm das Anzeigen der Pfeile verbieten, um Usern mit deaktiviertem JavaScript
keine Probleme zu machen. Damit hätten dann aber User mit nicht
deaktiviertem JavaScript ein Problem...
- Kann ich dem IE < 6 das Laden des Scriptes verbieten?
- Oder kann ich ihm ein zusätzliches JavaScript liefern, das das Problem mit den Pfeilen anders löst?
Edit: auch wenn Opera gewöhnlich kaum Probleme macht, hat er jetzt eins:
der kommt mit dem overflow:hidden nicht klar und lässt mich die gesamte
Seite um die entsprechende Breite scrollen...:-(
Kann ich das Script wie folgt abändern, oder gibt es eine bessere / elegantere Methode:
Code:
function initGalerie()
{
thumbList = document.getElementById("thumbs");
for(i=0; thumbLink = thumbList.getElementsByTagName("a")[i]; i++) {
thumbLink.href = "javascript:bild("+(i+1)+");"
thumbLink.target = "_self"
}
for(i=0; a = document.getElementsByTagName("a")[i]; i++) {
if(a.className.search(" nur-bei-js") != -1)
a.className = a.className.split(" nur-bei-js")[0];
}
document.getElementById("thumbs-scroller").style.overflow = "hidden";
[B]document.getElementById("thumbs").style.width = "850px";[/B]
scrollThumbs(0);
}
Hab's noch nicht getestet, denke aber, dass es funktionieren müsste, da ich
ja bei aktiviertem JavaScript ohnehin nur vier Thumbnails anzeige.
Etwas mehr könnte ich ihm auch noch geben...
Grüße
Bernhard