Guten Morgen an alle,
ich habe hier ein merkwürdiges Problem mit dem IE das ich mir nicht erklären kann, daher versuche ich einmal es zu schildern:
Also ich erzeuge dynamisch Buttons deren Werte (bezeichnung, bild etc) aus einer Datenbank kommen, auf der Seite selber haben diese Buttons einen onmouseover effekt. Um diesen zu realisieren gibt es zu jedem button einen kurzen JS block (im body nicht im head) um das Bild vorzuladen:
<script language='JavaScript' type='text/JavaScript'>";
var image_col<?=$a?> = new Image();
image_col<?=$a?>.src='content/subMenu_pix/<?=$img?>col.gif';
var image_bw<?=$a?> = new Image();
image_bw<?=$a?>.src='content/subMenu_pix/<?=img?>bw.gif';
</script>\r";
Ich hab keine ahnung von PHP und weiss daher nicht was bei diesem Kauderwelsch beim Browser ankommt. Das wäre nämlich interessant zu Wissen.
Allerdings würde ich dein Problem auch ganz anders lösen, so dass du gar nicht so vermurksten Code schreiben mußt:
<script type='text/JavaScript'>"
var image_col = new Array();
var image_bw = new Array();
var anzahl = <? echo $a ?>;
for(var i = 0; i < anzahl;i++)
{
image_col[i] = new Image();
image_col[i].src = 'content/subMenu_pix/' + i + 'col.gif';
image_bw[i] = new Image();
image_bw[i].src = 'content/subMenu_pix/' + i + 'bw.gif';
}
</script>
<img src='content/subMenu_pix/<?=$img?>bw.gif' name='image<?=$a?>' onMouseover='swap(image<?=a?>, image_col<?$a?>);return true;' onMouseout='swap(image<?=$a?>, image_bw<?=$a?>);return true;' border='0' alt=''>
Warum machst du dir das Leben so schwer?
benutze hier einfach this beim Aufruf von onmouseover, dann kannst du in deiner Funktion leichter (und vor allem richtig, weil das obige Fuktioniert nur im IE da du auf window[bildName] zu greifst das existiert aber nicht, richitg heißt es window.document[bildName] ) auf die Bildeigenschaften zugreifen. wenn du dann noch den Namen benutzt um deine Referenz auf die vorgeladenen Bilder zu bekommen, wird dein Quellcode schon mal übersichtlicher
<img src='content/subMenu_pix/<?=$img?>bw.gif' name='image<?=$a?>'
onMouseover='swap_col(this);'
onMouseout='swap_bw(this);' border='0' alt=''>
function swap_col(img)
{
img.src = image_col[ img.name.substring(5) ].src;
}
function swap_bw(img)
{
img.src = image_bw[ img.name.substring(5) ].src;
}
Den Rest deiner Schilderung (das mit der Flage) hab ich nicht verstanden.
Struppi.