Animierte Buttons funktionieren mit Netscape nicht
Martin Busley
- javascript
Hallo Forumsbesucher,
ich hab da ein kleines JavaScript Problem:
Nach der SELFHTML-Anleitung hab ich einen animierten Button erzeugt, mit zusätzlichen Event-Handler, um flache Schaltflächen zu simulieren. Im IE 5 funktioniert das auch alles wunderbar, aber Netcape in der Version 4.7 interpretiert plötzlich "onmouseover" & "onmoueseout" nicht mehr. Der Quelltext sieht so aus:
<html>
<head>
<title>Button</title>
<script language="JavaScript" type="text/javascript" >
a=new Image();
a.src="1.gif";
b=new Image();
b.src="2.gif";
c=new Image();
c.src="3.gif";
function button(d, e) {
window.document.images[d].src = e.src; }</script>
</head>
<body text="#000000" bgcolor="#ff0000" link="#000000" alink="#0000ff" vlink="#0000ff">
<img src="1.gif" width="98" height="24" border="0" alt="Schließen" onmouseover="button(0,b)" onmouseout="button(0,a)" onmousedown="button(0,c)" onmouseup="button(0,b)">
</body>
</html>
Das Beispiel steht unter http://www.busley.purespace.de/button.htm zum Testen bereit. Weiß jemand wo der Fehler liegt. Danke!
Viele Grüße,
Martin Busley
Achtung, die richtige URL lautet: [http://www.mbusley.purespace.de/button.htm]
Tut mir leid.
Martin Busley
Achtung, die richtige URL lautet: [http://www.mbusley.purespace.de]
Tut mir leid.
Martin Busley
Hi Martin
Leider Interpretiert Netscape onmouseover/out usw. nur in ganz wenigen ausgewaehlten Tags:
<a ... > und <area....> siehe z.B. <../../tebj.htm#a18>
Ansonsten ist der Quelltext in Ordnung.
viele Gruesse
Holger
Hallo Holger,
Leider Interpretiert Netscape onmouseover/out usw. nur in ganz wenigen ausgewaehlten Tags:
<a ... > und <area....>
und warum funktionieren die animierten Button in SELFHTML dann mit Netscape? Da wird "onmouseover" im <img>-Tag verwendet.
Martin Busley
n'abend Martin!
und warum funktionieren die animierten Button in SELFHTML dann mit Netscape? Da wird "onmouseover" im <img>-Tag verwendet.
... werden sie nicht, schau Dir das beispiel bitte noch einmal genau an:
<../../tedg.htm>
viel erfolg und viele gruesse
+markus+
Hallo Markus
... werden sie nicht, schau Dir das beispiel bitte noch einmal genau an:
Also heut ist echt nicht mein Tag! Warum hab ich das nur übersehen? Danke, dass du mich darauf gebracht hast. Da muss ich jetzt wohl dem Netscape mit <layer> helfen.
Viele Grüße
Martin Busley
Hi Martin.
Mit dem Event-Modell von Netscape kannst Du Dir fuer Dein Beispiel Layers ersparen.
Anbei ein kleiner workaround fuer Netscape:
<html>
<head>
<title>Button</title>
<script language="JavaScript1.2">
a=new Image();
a.src="1.gif";
b=new Image();
b.src="2.gif";
c=new Image();
c.src="3.gif";
function button(d, e) {
window.document.images[d].src = e.src; }
function buttonNS(Event)
{if(Event.target.name){
if(Event.target.name=='Button1'){
if(Event.type=='mouseover') Event.target.src=b.src
if(Event.type=='mouseout') Event.target.src=a.src
if(Event.type=='mousedown') Event.target.src=c.src
if(Event.type=='mouseup') Event.target.src=b.src
}}}
if(document.layers)
{document.captureEvents(Event.MOUSEOVEREvent.MOUSEDOWNEvent.MOUSEOUTEvent.MOUSEUP)
document.onmousedown=buttonNS;document.onmouseout=buttonNS;
document.onmouseup=buttonNS;document.onmouseover=buttonNS}
</script>
</head>
<body text="#000000" bgcolor="#ffffff" link="#000000" alink="#0000ff" vlink="#0000ff">
<img src="1.gif" name="Button1" width="98" height="24" border="0" alt="Schließen" onmouseover="button(0,b)"
onmouseout="button(0,a)" onmousedown="button(0,c)" onmouseup="button(0,b)">
</body>
</html>
Liebe Gruesse, Til.