Supportnet Computer
Planet of Tech

Supportnet / Forum / Webseiten/HTML

Mous over Effekt beim laden





Frage

Wie ermögliche es das die Buttons für den Mouse over Effekt gleich beim laden der Seite mitgeladen werden? also das niemand bei jeder Grafik warten muss bis die zweite für den Effekt geldaen ist. Danke schonmal!

Antwort 1 von Friedel

Dazu lädst du die Biler am besten einfach in den Browsercache. Du baust irgendwo in der Seite alle Bilder ein, damit sie gleich beim Aufrufen der Seite geladen werden. Dazu kannst du die Bilder auf 1*1 Pixel verkleinern, oder sie in ein unsichtbares Div legen, oder die Bilder per CSS unsichtbar machen, oder die Bilder durch absolute positionierung außerhalb des Fensters positionieren, oder...

Antwort 2 von abschweb

Wenn du den MouseOver-Effekt mit Javascript realisierst, empfiehlt sich die Methode, im <head> ein script einrichtest in dem du für jedes Bild formulierst:


var Bild = new Image ();
Bild.src = ´knopf.gif´;


Bei vielen Bildchen machst du am besten ein Array mit den Dateinamen


var Bildchen = new Array (´knopf1.gif´, ´knopf2.gif´);


und erzeugst die Bildobjekte in einer for-Schleife.

Gruß
Manfred

Antwort 3 von abschweb

Zur Ergänzung:
Mein Vorschlag hat im Prinzip den gleichen Effekt wie Friedels Vorschlag. Der Vorteil ist, dass man nichts dafür tun muss, die Bildchen zu verstecken; sie werden ja durch diese Javascript-Anweisungen definitiv nicht angezeigt.

Es gibt keine Notwendigkeit, die erzeugten Bildobjekte danach noch mal anzusprechen.

Sie sind im Cache und es können bei der späteren Verwendung problemlos die Dateinamen zugewiesen werden.

Gruß
Manfred

Antwort 4 von vasquez

kleine ergänzung :
falls ein bild noch nicht geladen ist , (weil die laden
ja asynchron) gibts eventuel probleme ....
wenn du das mit dem javascript preloading machst ,
müsstest du eventuel die readyState eigenschaft abfragen von den image objecten ,
bei mozilla gibts da aber probleme , weil es da kein
vernünftiges onReadyStateChange event gibt ,
und somit die links nicht erst in die seite eingefügt werden können wenn ihre animation komplett
geladen ist.
also musst du den readyState abfragen ,wenn ein mouseOver ausgelöst wird , und falls die bilder noch nicht fertig sind , machst du einen Css effect , falls doch nimmst du das image.
(ein standart bild für alle am anfang , während die anderen geladen werden sollte auch akzeptabel sein)

für leute die schnell mal auf die seite gehen wollen um irgendwo hinzukommen ohne lange auf animationen zu warten
ist diese möglichkeit eh am besten.

Antwort 5 von abschweb

warum so kompliziert?
Zeig doch einfach die heißen Objekte erst an, wenn alles geladen ist. Also in der Funktion, die du im <body onLoad= zuweist, setzt du die Knöpfe auf visible. Ich persönlich treibe diesen Aufwand meist nicht. Wenn da wirklich ein Hektiker einen Knopf klickt, dessen alternative Erscheinung noch nicht geladen ist, passiert ja nichts schlimmeres, als dass die Optik sich ein bisschen verzögert. Na und?

Gruß
Manfred

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: