Das Menü will im IE nich

Status
Nicht offen für weitere Antworten.

daddz

Mitglied
Hallo nochmal!

Hier mein 2. Problem:
ich hab ein Menü aus Blidern gemacht bei denen das Bild gewechselt wird wenn man mit der Maus drüberfährt. Aber irgendwie will es im Internet Explorer nicht funktioniren. Liegt es an dem Script, das ich für Preload geschrieben hab?
Bei anderen Browsern (z.B. Firefox) funktioniert es einwandfrei!

Hier der Code:
Code:
<html>
<head>
<title>Register</title>
<base target="Inhalt">
 <script language="JavaScript">
  <!--
 Bild01 = new Image();
 Bild01.src = "pics/News.jpg";
 Bild02 = new Image();
 Bild02.src = "pics/NewsOnMouse.jpg";
  
 Bild11 = new Image();
 Bild11.src = "pics/Projects.jpg";
 Bild12 = new Image();
 Bild12.src = "pics/ProjectsOnMouse.jpg";
 
 Bild21 = new Image();
 Bild21.src = "pics/Regeln.jpg";
 Bild22 = new Image();
 Bild22.src = "pics/RegelnOnMouse.jpg";
 
 Bild31 = new Image();
 Bild31.src = "pics/Beitreten.jpg";
 Bild32 = new Image();
 Bild32.src = "pics/BeitretenOnMouse.jpg";
  
 Bild41 = new Image();
 Bild41.src = "pics/Links.jpg";
 Bild42 = new Image();
 Bild42.src = "pics/LinksOnMouse.jpg";
  
 Bild51 = new Image();
 Bild51.src = "pics/Forum.jpg";
 Bild52 = new Image();
 Bild52.src = "pics/ForumOnMouse.jpg";

 Bild61 = new Image();
 Bild61.src = "pics/Intern.jpg";
 Bild62 = new Image();
 Bild62.src = "pics/InternOnMouse.jpg";

 Bild71 = new Image();
 Bild71.src = "pics/Info.jpg";
 Bild72 = new Image();
 Bild72.src = "pics/InfoOnMouse.jpg";
 
  
 function bild (nr,obj)
  {
    document.images[nr].src = obj.src; 
  } 

 //-->
  </script>
</head>
<body text="#FF0000" bgcolor="#000000" link="#AA0000" alink="#AA0000" vlink="#AA0000">
<hr>
<table width="5%" bordercolor="#000000" bgcolor="#2D2D2D" cellspacing="2" cellpadding="2" border="2">
  <tr>
   	<td><a href="" target="Inhalt" OnMouseOut="bild (0,Bild01)" OnMouseOver="bild (0,Bild02)"><img src="pics/News.jpg" width="70" height="30" alt"News" border="0" name="news"></a></td>
  </tr>
  <tr>
   	<td><a href="" target="Inhalt" OnMouseOut="bild (1,Bild11)" OnMouseOver="bild (1,Bild12)"><img src="pics/Projects.jpg" width="70" height="30" alt="Projects" border="0" name="projects"></a></td>
  </tr>
  <tr>
  	<td><a href="" target="Inhalt" OnMouseOut="bild (2,Bild21)" OnMouseOver="bild (2,Bild22)"><img src="pics/Regeln.jpg" width="70" height="30" alt="Regeln" border="0" name="regeln"></a></td>
  </tr>	
  <tr>
    	<td><a href="" target="Inhalt" OnMouseOut="bild (3,Bild31)" OnMouseOver="bild (3,Bild32)"><img src="pics/Beitreten.jpg" width="70" height="30" alt="Login" border="0" name="beitreten"></a></td>
  </tr>
  <tr>
    	<td><a href="" target="Inhalt" OnMouseOut="bild (4,Bild41)" OnMouseOver="bild (4,Bild42)"><img src="pics/Links.jpg" width="70" height="30" alt="Links" border="0" name="links"></a></td>
  </tr>
  <tr>
    	<td><a href="" target="Inhalt" OnMouseOut="bild (5,Bild51)" OnMouseOver="bild (5,Bild52)"><img src="pics/Forum.jpg" width="70" height="30" alt="Forum" border="0" name="forum"></a></td>
  </tr>	
</table>
<br><br><hr>

<table width="5%" bordercolor="#000000" bgcolor="#2D2D2D" cellspacing="2" cellpadding="2" border="2">
  <tr>
    	<td><a href="" target="Inhalt" OnMouseOut="bild (6,Bild61)" OnMouseOver="bild (6,Bild62)"><img src="pics/Intern.jpg" width="70" height="30" alt="Intern" border="0" name="intern"></a></td>
  </tr>

  <tr>
    	<td><a href="" target="Inhalt" OnMouseOut="bild (7,Bild71)" OnMouseOver="bild (7,Bild72)"><img src="pics/Info.jpg" width="70" height="30" alt="Info" border="0" name="info"></a></td>
  </tr>
</table>
</body>
</html>

(Ich hab bei "href" nur die Links rausgenomen)

Und hier das Beidpiel: Klick

Danke schonmal!

greetz
daddz
 
Ist Dir eigentlich schon aufgefallen, dass es hier auch ein Javascript Forum gibt? Wenn, dann würde es dort sicher besser passen.

Trotzdem, irgendwie verstehe ich Dein Problem nicht, Dein Code sieht zwar etwas umständlich aus und bei solchen simplen Buttons würde ich das per CSS lösen, aber bei mir funktioniert der Bilderwechsel im Beispiel einwandfrei (IE Version 6)
 
Bei mir geht das auch(IE5.5)....das Skript sollte, soweit ich sehe, in jedem DHTML-fähigen Browser funktionieren.

Hast du in deinem IE Javascript aktiviert?

Vielleicht stören ja auch die Leerzeichen vor der Klammer im Funktionsaufruf?

Bekommst du eine JS-Fehlermeldung?
 
Bei mir funktionierts auch einwandfrei (IE 6)

Hier ne andere version(musst nicht für jedes Bild nen neuen java-code schreiben):

Code:
<html>
<head>
<script language="JavaScript" type="text/JavaScript">
<!--
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;
}

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];}
}
//-->
</script>
</head>
<body onLoad="MM_preloadImages('bild.jpg')">

<a href="http://www.meineurl.ch" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Bildname','','bild.jpg',1)"><img src="bild.jpg" border="0"></a>

</body>
</html>
(mit preload)

Greez Crowner
 
Danke!

Danke für eure Hilfe. Ich hab bei meinem IE Javascript deaktiviert gehabt! :rolleyes:
Tut mir Leid! :p Aber wo kann man Javascript wieder aktivieren? :confused:
Danke schonmal! Und Sorry für den unnötigen Thread! ;)

greetz
daddz
 
Status
Nicht offen für weitere Antworten.
Zurück