Um den Beitrag mal etwas sinnvoller zu machen..
[MOD: Wiederhergestellt]
Hallo,
ich habe eine Grafik, diese Grafik hat nun 2 Javascripte.
#1 - Mouseover-Effekt (Bildwechsel)
#2 - Ein Layer welches sich öffnet (das weitere Menü)
Es funktioniert momentan alles reibungslos außer:
Logischerweise verschwindet der Mouseover-Effekt (Bildwechsel) wenn ich von der Grafik runtergehe in das Menü. Ich möchte aber dass der Mouseover-Effekt (Bildwechsel) vorhanden bleibt, solange ich im Menü bin. Daher möchte ich gerne den Mouseover-Effekt mit ins andere Script einbauen.
Kann mir da bitte jemand helfen?
Hier die Grafik um welche es geht: Code:
<a href="#"
onmouseover="mopen('sprache')"
onmouseout="mclosetime()
class="hidefocus" >
<img src="bilder/de-navi-6.jpg"
onmouseover="this.src='bilder/de-navi-6-mouseover.jpg';"
onmouseout="this.src='bilder/de-navi-6.jpg';"
width="86" height="54" border="0" />
</a>
Folgender Code soll also mit ins Javascript eingebaut werden: Code:
onmouseover="this.src='bilder/de-navi-6-mouseover.jpg';"
onmouseout="this.src='bilder/de-navi-6.jpg';"
Der Javascript-Code: Code:
<script type="text/javascript"> <!--
var timeout = 500;
var closetimer = 0;
var ddmenuitem = 0;
function mopen(id)
{
mcancelclosetime();
if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
ddmenuitem = document.getElementById(id);
ddmenuitem.style.visibility = 'visible';
}
function mclose()
{
if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
}
function mclosetime()
{
closetimer = window.setTimeout(mclose, timeout);
}
function mcancelclosetime()
{
if(closetimer)
{
window.clearTimeout(closetimer);
closetimer = null;
}
}
document.onclick = mclose;
//--> </script>
Evtl. habe ich ja irgendwas (ausnahmsweiße
) richtig gemacht? Daher um euch evtl. Tipparbeit zu erspaaren (oder um euch das Flamen zu erleichtern
) hier mein bisheriger Lösungsversuch: Code:
<a href="#"
onmouseover="mopen('1','sprache')"
onmouseout="mclosetime('1','aus')"
class="hidefocus" >
<img src="bilder/de-navi-6.jpg" width="86" height="54" border="0" />
</a>
Code:
<script type="text/javascript"> <!--
var timeout = 500;
var closetimer = 0;
var ddmenuitem = 0;
** NEU **
sprache1 = new Image();
sprache1.src = "bilder/de-navi-6-mouseover.jpg";
aus1 = new Image();
aus1.src = "de-navi-6.jpg";
**
function mopen(Indexnr,id)
{
mcancelclosetime();
if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
ddmenuitem = document.getElementById(id);
ddmenuitem.style.visibility = 'visible';
** NEU ** window.document.images[Indexnr].src = id.src; **
}
function mclose(Indexnr,id)
{
if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
** NEU ** window.document.images[Indexnr].src = id.src; **
}
function mclosetime()
{
closetimer = window.setTimeout(mclose, timeout);
}
function mcancelclosetime()
{
if(closetimer)
{
window.clearTimeout(closetimer);
closetimer = null;
}
}
document.onclick = mclose;
//--> </script>
Nur leider geht der Mouseover-Effekt dann garnicht mehr