hallo,
fogendes problem:
meine seite muss in der lage sein herauszufinden ob ein timeout am laufen ist oder nicht. der timeout heist immer aktiv, also dachte ich mir ich frage einfach
if(aktive==true)cleartimeout(aktiv);
das scheint aber ganz und garnicht zu gehen genauso wenig wie
if(aktiv)cleartimeout(aktiv);
wenn kein timeout läuft scheint meine if formulierung trotzdem true zu sein...
hier der gekürzte code:
function show(wert) {
if(wert=="about" && document.all){document.all.about.style.visibility = "visible";}
}
function hide() {
if(document.all){document.all.about.style.visibility = "hidden";}
}
//-->
</script>
<div style="position:absolute; top:10; left:150; color: turquoise;" >
<span onMouseOver="<!-- hier beginnt die stelle die nicht geht -->if(aktiv==true)window.clearTimeout(aktiv);<!--hier endet die problem stelle--> show('about'); " onMouseOut="aktiv=window.setTimeout('hide()',1500);">bla bla</span
</div>
<div id="about" style="position:absolute;top:30; left:120; visibility:hidden;" onMouseOver="window.clearTimeout(aktiv);"
onMouseOut="aktiv=window.setTimeout('hide()',1500);">
<a href="#">bla bla</a>
</div>
</div>
ich hoffe ich habe nix wichtiges rausgekürzt....
grundsätzlich läuft das ganz gut, es wird aber tricky sobald ich von dem div "about" wieder in das obere div gehen, dann läuft der timeout weiter und blendet unten aus was dann zT dazu führt das man durch mausbewegungen das div "about" zum blinken bringen kann
die fehlermeldung die ich bekomme wenn ich bei obigen code zum ersten mal auf das erste div gehe lautet sinngemäss das about nicht exsistiert, deswegen dachte ich ich kann mit if() abfragen obs denn da ist ...
thx
-RB-