• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

dynamische DOM-Pfaderstellung

freakyBOi

Neues Mitglied
Guten Morgen,

ich möchte einen Image-OnMouseOver/OnMouseOut-Effekt erstellen.
Hier mein JavaScript-Code:

Code:
function over(img) {
    if(document.images)
        document.img.src="resources/images/layoutelements/"+img+"buttonover.jpg";
}

function out(img) {
    if(document.images)
        document.img.src="resources/images/layoutelements/"+img+"button.jpg";
    
}

Je nach dem was ich für img übergebe, soll ein anderes Bild und eben auch ein anderer Pfad verwendet werden.
Was ich mir schon gedacht habe, ist dass sich der Pfad nicht so einfach dynamisch ändern lässt. Somit sucht mein JavaScript-Code nach einem Tag mit dem name-Attribut = "img" anstatt, dass er img im Pfad durch dem übergebenen Wert ersetzt.
Wenn ich z.B. over('home') aufrufe, soll die Funktion auf document.home.src zugreifen und nicht auf document.img.src

Ich hoffe, dass mir jemand weiterhelfen kann, da ich leider per Google und Suchfunktion nichts passendes finden konnte.
 
Wie rufst Du die Funktion auf? Wenn Du sie beim Bild selbst aufrufst, z.B. so

HTML:
<img src="bild.jpg" alt="" onmouseover="over('neuesbild.jpg');">

wäre es das einfachste du übergibst das img-Element als Objekt an die Funktion. Also:

HTML:
<img src="bild.jpg" alt="" onmouseover="over(this, 'neuesbild.jpg');">

Die Funktion müsstest Du dann so anpassen:

Code:
function over(obj, img) {
    if(obj)
        obj.src="resources/images/layoutelements/"+img+"buttonover.jpg";
}

Analog müsstest Du für out() das selbe machen.

Es stimmt übrigens nicht, dass Du den Pfad dabei nicht ändern kannst. Du musst nur die Grafik + Pfad an die Funktion übergeben, dann geht auch das.
 
Zurück
Oben