Javascript-Anfängerin braucht Hilfe

andrea d

Grünschnabel
Brauche dringend Hilfe

will eine Navigation die unten aufgehen soll
funktioniert aber nur beim ersten Menüpunkt.
Oder ich mach sie gleich sichtbar,
dann verschwindet sie aber nicht mehr "heul"

Was hab ich falsch gemacht :(
unten das script:
bitte bitte


im Head:

<script language="JavaScript">
<!--
function drauf(name,filename)
{
window.document.images[name].src=filename;
}

function weg(name,filename)
{
window.document.images[name].src=filename;
}

//-->


</script>


im Dokument:
<a href="kommunikation.html">
<img src="../bilder/hauptbutton1.gif" border="0" alt="Kommunikation"
name='kommunikation'
onMouseover="document.getElementById('div1').style.visibility='visible';
drauf('kommunikation','../bilder/hauptbutton1m.gif')"
onMouseout="weg('kommunikation','../bilder/hauptbutton1.gif')"></a>


<div id="div1" style="visibility:hidden;"
onMouseout="this.style.visibility='hidden'">

<a href="ideal.html">
<img src="../bilder/kom1.gif" border="0" alt="Ideal"
name='marketing' onMouseover="drauf('marketing','../bilder/kom1m.gif')"
onMouseout="weg('marketing','../bilder/kom1.gif')"></a>

<a href="strategie.html">
<img src="../bilder/kom2.gif" border="0" alt="Strategie"
name='werbung' onMouseover="drauf('werbung','../bilder/kom2m.gif')"
onMouseout="weg('werbung','../bilder/kom2.gif')"></a>

<a href="konzepte.html">
<img src="../bilder/kom3.gif" border="0" alt="Konzepte"
name='public' onMouseover="drauf('public','../bilder/kom3m.gif')"
onMouseout="weg('public','../bilder/kom3.gif')"></a>

<a href="action.html">
<img src="../bilder/kom4.gif" border="0" alt="Action"
name='act' onMouseover="drauf('act','../bilder/kom4m.gif')"
onMouseout="weg('act','../bilder/kom4.gif')"></a>

<a href="erfolge.html">
<img src="../bilder/kom5.gif" border="0" alt="Erfolge"
name='erf' onMouseover="drauf('erf','../bilder/kom5m.gif')"
onMouseout="weg('erf','../bilder/kom5.gif')"></a>
</div></td>
 
Hallo!

Mach die Funktionen doch einfach so:

function drauf(name,filename)
{
name.src=filename;
}

Und so dann die Übergabe:

drauf(this,'../bilder/hauptbutton1m.gif')

Du hast nämlich das document.images[] falsch verstanden.
Damit übergibt man die Nummer des Bildes im Document und nicht dessen Namen.
Das sähe dann nämlich so aus:

document.bildname.src
 
cool

Danke, ist super,
naja warum einfach, wenns kompliziert auch geht :)

Nur leider hilft mir das bei diesem "sch....." -div-Bereich nicht weiter
Hast du da auch eine Idee?:-)
 
Das liegt daran, dass du in den <img>-Tags ebenfalls onmouseover/onmouseout-Events notiert hast.
Dadurch kann der jeweilige Event aus dem <div> nicht "Bubble'n"... er vererbt sich nicht an die <img>-Tags.
Folglich feuert, sobald du über ein Bild kommst, der onmouseout-Event im <div>.

Du könntest das hiermit umgehen:
Code:
<script language="JavaScript">
<!--
showMenu=0;
menuStatus=new Array('hidden','visible');
function showHideMenu(e)
{
if(e==showMenu)
    {
    document.getElementById('div1').style.visibility=menuStatus[e];
    }
}
function drauf(name,filename)
{
name.src=filename;
showMenu=1;
setTimeout('showHideMenu(1)',100);
}

function weg(name,filename)
{
name.src=filename;
showMenu=0;
setTimeout('showHideMenu(0)',100);
}
//-->
</script>

Die Aufrufe
Code:
onMouseover="document.getElementById('div1').style.visibility='visible';
im ersten Hauptmenupunkt,...
und
Code:
onMouseout="this.style.visibility='hidden'"
in div1
kannst/musst du dabei entfernen.
 

Neue Beiträge

Zurück