• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Mouse over funzt nicht!?

kemi

New member
Hallöchen zusanmmen,

bin noch Anfänger, was JS betrifft - nur als Warnung vorweg!

Mein Problem ist folgendes: Habe auf einer Seite eine Grafik mit Image maps erstellt. Diese haben alle einen mouse over Effekt.

Wenn ich mit der Maus über die Image map gehe, soll eine andere Grafik, die vorher nicht sichtbar ist, (Seite soll ohne diese Grafik laden) an anderer, aber fest vorgegebener Stelle erscheinen.

Ich arbeite mit GoLive, welcher mir Schweberahmen anbietet. Diese geben mir die Möglichkeit die Grafiken, die beim mouse over Effekt erscheinen sollen, beim Laden der Seite auszublenden. Nachteil ist, daß ich die Schweberahmen nur absolut positionieren kann. Wenn sich jemand die Seite also mit einer anderen Auflösung anschaut, sind die Rahmen mit den integrierten Grafiken natürlich voll verrutscht.

Ich hoffe auf Eure Hilfe. Wahrscheinlich ist es kein großes Problem, aber Ihr wißt ja selbst-jeder fängt mal klein an!
Bin gespannt auf Eure Antworten!
-Kemi
 
also, erstmal vergiss alle wysiwyg-editoren, und nimm 'nen Texteditor für JS!

in IE und anderen DOM Browsern (NN6, OP) setzt Du die Bilder mit <img id="Bild1" style="visibility:hidden"...> unsichtbar, in NN4 machst Du's mit ilayer: <ilayer name="Bild1" visibility="hide"><img...></ilayer>

jede id/name kriegt 'nen eigenen Namen für's Bild, dann machst Du eine mouseoverfunktion:
in IE und DOM-Browsern: onmouseover="document.getElementsById('Bild1').style.visibility='visible';"
in IE4 heißt's document.all['Bild1'].style.visibility='visible'
in NN4 heißt's document.layers['Bild1'].visibility='show'

zumm verstecken nimmst Du wieder 'hidden' bzw. 'hide'

Besser wäre vorher eine Prüfung ob's die Dinger überhaupt gibt:
if(document.all && document.all['Bild1'] && document.all['Bild1'].style) und dann der Rest...aber um Platz zusparen, würde ich dann sowas in 'ne Funktion stecken:
onmouseover="func('Bild1',1)"

JS:
function func(id, mode)
{
if(document.layers)
{
if(mode==1) x="show";
else x="hide";
if(document.layers[id]) document.layers[id].visibility=x;
}
else
{
if(mode==1) x="visible";
else x="hidden";
if(document.all)
{
if(document.all[id] && document.all[id].style)document.all[id].style.visibility=x;
}
else if(document.getElementsById)
{
if(document.getElementsById(id) && document.getElementsById(id).style) document.getElementsById(id).style.visibility=x;
}
}
}
 
Zuletzt bearbeitet:
Zurück
Oben