2009-07-21 21 views
0

私のウェブサイトのメニューでJavaScript onmouseoverイベントを使用していますが、doctypeを宣言するとFirefoxでは動作しません。 doctypeを宣言しなければIEはページを間違って表示します。ここで私が使った方法があります。Javascript onmouseoverがFirefoxでdoctypeを使用していませんか?

loadImage1 = new Image(); 
loadImage1.src = "http://broken.gif"; 
staticImage1 = new Image(); 
staticImage1.src = "http://broken.gif"; 

loadImage2 = new Image(); 
loadImage2.src = "http://broken.gif"; 
staticImage2 = new Image(); 
staticImage2.src = "http://broken.gif"; 

loadImage3 = new Image(); 
loadImage3.src = "http://broken.gif"; 
staticImage3 = new Image(); 
staticImage3.src = "http://broken.gif"; 

function showa() { 
    image1.src=loadImage1.src; 
} 

function hidea() { 
    image1.src=staticImage1.src; 
} 

function showb() { 
    image2.src=loadImage2.src; 
} 

function hideb() { 
    image2.src=staticImage2.src; 
} 

function showc() { 
    image3.src=loadImage3.src; 
} 

function hidec() { 
    image3.src=staticImage3.src; 
} 

、体内の:

<a href="http://broken.html" onMouseOver="showa()" onmouseout="hidea()"> 
     <img name="image1" src="http://broken.gif" alt="Browse" width="193" height="47" border="0" /> 
    </a> 

    <a href="http://broken.html" onmouseover="showb()" onmouseout="hideb()"> 
     <img name="image2" src="http://broken.gif" width="193" height="47" alt="Make a List" border="0" /> 
    </a> 

    <a href="http://broken.html" onmouseover="showc()" onmouseout="hidec()"> 
     <img name="image3" src="http://broken.gif" width="193" height="47" alt="Requests" border="0" /> 
    </a> 
</div> 

<div id="searchbar"> 
    <img src="..broken.gif" width="222" height="41" /> 
    <img src="..broken.gif" width="108" height="41" alt="Search" /> 
+0

あなたはいくつかの不要なトラブルや頭痛を解消し、この効果を正しい方法で作成する方法を学ぶことができます:http://www.alistapart.com/articles/slidingdoors/ – Jason

答えて

3

Firefoxは名前であなたのイメージを参照する方法が好きではありません。代わりにIdとgetElementByIdを使用してください。

編集。何らかの理由で大量破壊兵器(WMD)がポストに正しく表示されない、ベン・ブランクの優れたコメントに注目してください。

+1

つまり、表示/非表示機能では、 image = .src = '" with "document.getElementById(" image# ")。src =' "本文に" ", false) });