Window set Timeout bei Layers
Toni Gadza
- dhtml
0 KD-one0 Toni Gadza0 Toni Gadza
Hallo.
Ich hatte da ja das Problem das meine Layers flackerten.
Ich bekam den Hinweis mit dem windows set timeout befehl das beheben zu können. folgendes habe ich probiert:
<td width="66" height="421"><a href="../ueberuns/frameset_ueberuns.htm" target="_parent"><img src="../../images/main_navi_ueberuns_off.gif" name="ueber_uns" width="66" height="421" border="0" id="ueber_uns" onMouseOver="MM_swapImage('ueber_uns','','../../images/main_navi_ueberuns_on.gif',1);MM_showHideLayers('layerueberuns','','show');window.clearTimeout();" onMouseOut="MM_swapImgRestore();MM_showHideLayers('layerueberuns','','hide');window.setTimeout('('layerueberuns')',50);"></a></td>
Es flackert leider immer noch. Ich hoffe ich trete niemanden auf den Schlips weil ich das als neues Thema poste aber meine beiträge sind ins Archiv gerückt und ich konnte dort nichts mehr dazuschreiben.
bitte gebt mir nicht gleich wieder ne Kopfnuss.
Mein Beitrag richtet sich vor allem an KDOne der mir diesen Lösungsvorschlag unterbreitet hat.
kann mir jemand weiterhelfen? oder KDone? was ist hier falsch?
Demo siehe URL
Hi Toni,
<td width="66" height="421"><a href="../ueberuns/frameset_ueberuns.htm" target="_parent"><img src="../../images/main_navi_ueberuns_off.gif" name="ueber_uns" width="66" height="421" border="0" id="ueber_uns" onMouseOver="MM_swapImage('ueber_uns','','../../images/main_navi_ueberuns_on.gif',1);MM_showHideLayers('layerueberuns','','show');window.clearTimeout();" onMouseOut="MM_swapImgRestore();MM_showHideLayers('layerueberuns','','hide');window.setTimeout('('layerueberuns')',50);"></a></td>
Pfhht, Macromedia... :-(
Es flackert leider immer noch. Ich hoffe ich trete niemanden auf den Schlips weil ich das als neues Thema poste aber meine beiträge sind ins Archiv gerückt und ich konnte dort nichts mehr dazuschreiben.
Kein Wunder, du solltest auch die Funktion "MM_showHideLayers('layerueberuns','','hide')" über den timeout aufrufen. Das, was du hier gemacht hast, ist lediglich, die Parameter nochmals per timeout zu übergeben, wenn auch ins Nirvana.
So müsste es funktionieren.
window.setTimeout('MM_showHideLayers('layerueberuns','','hide')',50)
bitte gebt mir nicht gleich wieder ne Kopfnuss.
*Brr* mir richten sich immer die Nackenhaare auf, wenn ich Macromedia-Code analysieren soll...
Gott sei's gedankt, ich muss nicht in die Funktion eingreifen... ;-)
Warum schreibst du dir deine Funktionen nicht lieber selbst? So ein show/hide Script ist doch nun wirklich nicht so schwer zu realisieren.
Gruß
Kurt
Ja ich weiss.. macromedia behaviors..
ein leidiges thema.
Ich sollte mir mehr zeit nehmen solche codes selber zu schreiben und mich mehr in das thema reinzuknieen.
nur hab ich leider gewisse wölfe und hexen im nacken denen das egal ist und die es einfach schnell schnell haben wollen.
drum muss ich da zurückstecken und wohl mehr in meiner freizeit zeit investieren.
danke das du dich trotzdem dazu überwinden konntest ;)
ich werde das gleich mal ausprobieren
Hallo KDOne
Ich habe das eben ausprobiert. Mein Problem ist dadurch leider nicht gelöst.
Ich weiss nicht ob du mein wirkliches Problem auch bemerkt hast, bist du auf meiner demoseite bei eingeblendetem layer mit der maus über den text gefahren? dann wirst du den effekt bemerken.
das timeout bewirkt beim mouseOut nur ein verzögertes ausblenden des layers?
-----------------
onMouseOut="MM_swapImgRestore();window.setTimeout('MM_showHideLayers('layerueberuns','','hide')',50)">
-----------------
es ist schon richtig das ich das nur im mouseout eingebaut habe?!
gruss
Hi Toni,
das timeout bewirkt beim mouseOut nur ein verzögertes ausblenden des layers?
Sorry, aber es ist mir wirklich zuviel, mir die MM-Scripte reinzuziehen, damit ich durchsteige, was die einzelnen Funktionen da machen. Vieleicht musst du auch den anderen Aufruf(irgendwas mit swapRestore()) in den Timeout reinehmen, oder aber beide?
Auf meinen Seiten kannst du dir das anschauen, wie das funktioniert, wenn du ein selbstgeschriebenes Script verwendest.
Link oben.
Im Übrigen sehe ich im Quelltext deiner Seite keinen Timeout.
es ist schon richtig das ich das nur im mouseout eingebaut habe?!
Ja, das stimmt.
Gruß
Kurt
Hallo..
Das Timeout hast du nich gesehn weil ich die aktualisierte seite nicht hochgeladen hatte.
ich habe in das timeout auch den restore usw. eingebaut. funktionierte nicht.
----------
onMouseOut="showHideLayers('layerueberuns','','hide');window.setTimeout('MM_swapImgRestore()',50)">
----------
danke für deine hilfe aber ich komme so nicht weiter. und in deinem code steige ich auch nicht durch. tut mir leid, bin da noch zu schwach auf dem gebiet und leider gottes auf die behaviors im moment noch angewiesen.
ich gebs auf...
danke trotzdem
liebe grüsse
NACHTRAG
Im kopierten Code siehst du nur den restore ins timeout eingebaut.
ich hatte aber auch beides drin..
nicht das du denkst ich hätte das nich ausprobiert.
so long...