bilder vorladen?
Dan
- programmiertechnik
tach kollegas,
ich habe momentan das problem, das ich in eine navigation mouseover-effekte einbauen möchte. diese soll sowohl auf ie als auch auf ns laufen. die bilder der einzelnen zustände möchte ich gerne vorladen. ich habe sie folgendermassen in einer externen js-datei notiert:
norm0 = new Image();
norm0.src = "../img/nav_1/but0norm.gif";
over0 = new Image();
over0.src = "../img/nav_1/but0over.gif";
down0 = new Image();
down0.src = "../img/nav_1/but0down.gif";
um die vorlade-funktion nun beim mouseover sinnvoll zu nutzen, müsste es doch folgendermassen gehen (ist eine js-funktion, an die auch die bildposition übergeben wird):
z.b. bei mouseover:
window.document.images[imageIndex].src = over'+imageIndex+'.src;
aber das funzt nicht. es geht nur wenn ich mich auf die bilder per pfad direkt beziehe, nämlich:
window.document.images[imageIndex].src = "../img/nav_1/but"+imageIndex+"over.gif;"
aber dann ist das mit dem vorladen doch für'n Ar..., oder?
hoffe ihr da draussen könnt mir weiterhelfen, denn das saugt.
gruss
dan
ich habe momentan das problem, das ich in eine navigation mouseover-effekte einbauen möchte. diese soll sowohl auf ie als auch auf ns laufen. die bilder der einzelnen zustände möchte ich gerne vorladen. ich habe sie folgendermassen in einer externen js-datei notiert:
hoffe ihr da draussen könnt mir weiterhelfen, denn das saugt.
"Hilf dir selbst, dann hilft dir Gott" - oder so ähnlich. Falls Du nicht an Gott glaubst, ein Stefan Münz tut's auch: http://selfhtml.teamone.de/javascript/beispiele/buttons.htm
Gruß,
soenk.e
Hi,
nun, dieses Script hat aber leider eine Schwaeche: die Bilder werden durchnummeriert, und dass kann u.U. zu Problemen fuehren. Besser ist diese Version, welche ebenfalls Funktioniert:
//Das ist ok
norm0 = new Image();
norm0.src = "../img/nav_1/but0norm.gif";
over0 = new Image();
over0.src = "../img/nav_1/but0over.gif";
down0 = new Image();
down0.src = "../img/nav_1/but0down.gif";
//die Funktion
function Bildwechsel(Bildname,Bildobjekt)
{
window.document.images[Bildname].src = Bildobjekt.src;
}
//Der Aufruf der Funktion:
<a href="index.php?con=angebote"
onMouseOver="Bildwechsel('angebote',angebote2)"
onMouseOut="Bildwechsel('angebote',angebote1)">
<img name="angebote" src="rollovers/angebote_01.gif" width="145" height="26" border="0" alt="angebote" ></a>
</div>
wichtig ist hier, dass das image-Objekt einen Namen zugewiesen bekommt.
MFG
Philipp
Hi,
over0 = new Image();
over0.src = "../img/nav_1/but0over.gif";
window.document.images[imageIndex].src = over'+imageIndex+'.src;
Dein Verständnisproblem scheint mir zu sein, daß Du Strings und Variablennamen in einen Topf wirfst.
Du kannst nicht einfach einen Variablennamen aus Strings (egal ob Literale oder Variablen-Inhalte) zusammensetzen und dann glauben, der JavaScript-Interpreter werde das schon verstehen.
Entweder mußt Du den Namen vorher wissen, oder Du mußt Code erzeugen, der die komplette Zuweiseung (inklusive dem Variablennamen) zusammensetzt, und diesen Code danach per "eval" explizit interpretieren lassen.
Viele Grüße
Michael