Ich und schnelle Leitung
Oh ja.... das dauert einen Moment, bis es geladen ist... 700 Zeilen Scripcode in einer Seite bekommt man aber auch selten zu sehen
Was ich mit dem "Durchlaufen" meine.... alle diese Layer sind ja <div>'s ...die kannst du in einer Schleife bequem durchlaufen, indem du
ihre Gesamtzahl mit
document.getElementsByTagName('div').length ermittelst, bei 0 anfängst und so lange hochzählst, bis alle Layer
durch sind...
document.getElementsByTagName('div')[0] ist zum Beispiel das erste <div>-Element einer Seite(falls vorhanden).
Das mit den sich verschiebenden Layern habe ich gesehen...
um das zu beheben, ist es besser, das style-Attribut "display" auf "none" zu stellen, dann werden die Layer vorerst auch nicht angezeigt... der Unterschied zu
visibility:hidden ist dabei aber, dass sie damit auch keinen Platz in Anspruch nehmen.... als ob sie nicht existierten.
Da du in der Seite, soweit ich sehen konnte, keinen Elementen eine display-Eigenschaft zugewiesen hast, muss man in der Schleife nicht mal den CSS-Klassennamen erfragen, sondern kann
einfach die display-Eigenschaft aller <div>'s ändern.
Nachfolgend das Skript... für
.ggBildlayer,.ggKartenLayer,.ggTextLayer wird dabei erstmal ein <style>-Block in die Seite geschrieben,
mit welchem die Mitglieder dieser Klassen versteckt werden.... hab dabei die
http://www.kinderlein.ch/chind_seiten/chind_home.htm genommen... ob das in den anderen Seiten genauso läuft, hab ich dabei nicht probiert, aber das Prinzip sollte immer dasselbe sein:
Code:
layersAreHidden=false;
function showHiddenLayers()
{
if(layersAreHidden==false){return;}
for(nr=0;nr< document.getElementsByTagName('div').length;++nr)
{
document.getElementsByTagName('div')[nr].style.display='block';
}
}
if(layersAreHidden=(document.getElementsByTagName&&document.getElementsByTagName('title')[0].innerHTML))
{
document.write('<style type="text/css">.ggBildlayer,.ggTextLayer,.ggKartenLayer{display:none;}</style>');
}
Das füge am Ende des <script>-Tags im <head> ein.
Im <body>-Tag musst du noch zusätzlich im onload-Event
showHiddenLayers(); notieren.
Laufen tuts in Opera7, Netscape7, Mozilla und IE5+
Apropos Opera... da ist die Reiseroute bei mir nach oben verschoben.... z.B. teilweise in der Adria
Zu den 700 Zeilen Scriptcode.... ich glaube, das ganze könnte man auf ein Zehntel schrumpfen,... da die Routenanimation ohnehin nur mit Javascript funktioniert, könnte man den ganzen Code für die Layer
in einer Schleife in die Seite schreiben lassen.... das sollte sie ungleich schneller machen