mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 28.03.2024 23:40 Benutzername: Passwort: Auto-Login

Thema: [JS] onMouseOut vom 11.04.2006


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [JS] onMouseOut
Autor Nachricht
taste of ink
Threadersteller

Dabei seit: 14.06.2005
Ort: Hamburg
Alter: 39
Geschlecht: Männlich
Verfasst Di 11.04.2006 14:34
Titel

[JS] onMouseOut

Antworten mit Zitat Zum Seitenanfang

Habe folgendes Problem und leider keine Ahnung von Javascript.

Ich habe eine Grafik "1.gif" als Menüpunkt. OnMouseover soll "2.gif" als animiertes Gif erscheinen. OnMouseOut soll dann das "3.giv", ebenfalls animiert ablaufen. Ich habe es mit Dreamweaver soweit auch hinbekommen, doch folgendes Problem:

Wenn jemand den Cursor von der Grafik wegbewegt bevor die Animation vollständig abgelaufen ist, soll erst die Animation zu Ende ablaufen und dann "3.gif" folgen.

Ich hoffe das war verständlich. Ich dachte an eine Mindestzeitangabe, damit das Gif immer die Zeit hat bis zum Ende abzulaufen (Es geht hierbei gerade mal um ein bis zwei Sekunden)

Von Dreamwaever generierter Code
Code:

...
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
//-->
</script>
...
<body onLoad="MM_preloadImages('2.gif','3.gif')">
<div align="center"><a href="javascript:;" onMouseOver="MM_swapImage('Image1','','2.gif',1)" onMouseOut="MM_swapImage('Image1','','3.gif',1)"><img src="1.gif" name="Image1" width="30" height="30" border="0" id="Image1"></a>
</div>
</body>
</html>

Vielleicht gibt es auch komplett andere Herangehensweisen, wollte Flash aber gerne vermeiden.

// GROSSES DANKE SCHONMAL


Zuletzt bearbeitet von taste of ink am Di 11.04.2006 14:36, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Raumwurm

Dabei seit: 21.12.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Di 11.04.2006 16:00
Titel

Antworten mit Zitat Zum Seitenanfang

Du könntest dem onMouseOut einen Timeout
mitgeben. Also quasi so:

onMouseOut="window.setTimeout('MM_swapImage(\'Image1\',\'\',\'3.gif\',1)', 300);"

300 ist der Wert in Millisekunden. Die
Backslashes beim MM_swapImage dann
nicht vergessen. Theoretisch müsste man
aber den Timeout vorher mit clearTimeout
noch resetten. Aber probiers doch mal aus.
  View user's profile Private Nachricht senden
Anzeige
Anzeige
taste of ink
Threadersteller

Dabei seit: 14.06.2005
Ort: Hamburg
Alter: 39
Geschlecht: Männlich
Verfasst Mi 12.04.2006 08:01
Titel

Antworten mit Zitat Zum Seitenanfang

* Ich bin unwürdig *
Es hat natürlich geklappt. VIELEN DANK!!!
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen onmouseout nur für gesamtes div tag
onMouseOut-Grafik verschwindet im IE
JavaScript - onmouseout auf Tabelle
onmouseout geht im firefox nicht mehr - hilfe
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.