2010-04-10 91 views
0

爲什麼沒有這段代碼交換圖像鼠標懸停如預期?:JavaScript的問題 - onmouseover事件

<a href="#" onMouseOver=" 
if (document.the_image.src == '01.jpg') 
{ 
    document.the_image.src = '02.jpg'; 
} 
else if (document.the_image.src == '02.jpg') 
{ 
    document.the_image.src = '03.jpg'; 
} 
else 
{ 
    document.the_image.src = '01.jpg'; 
} 
"> 
Some image</a><br> 
+0

你可以發佈代碼嗎? – Jonathan 2010-04-10 02:19:13

+0

什麼是文檔對象的'the_image'屬性? – z33m 2010-04-10 02:25:22

+0

Jonathan,我試圖發佈代碼的完整小知識,但我一直從網站獲取此消息: 「糟糕!您的問題無法提交,因爲: 很抱歉,但作爲垃圾郵件防範機制,新用戶不允許發佈圖片,獲得10個信譽發佈圖片。「 – 2010-04-10 02:53:02

回答

1

最有可能在渲染HTML,圖像源是絕對網址,因此在SRC可能是http://mydomain.com/01.jpg

爲了測試這一點,嘗試在你的代碼中設置一個警報(),看看有什麼實際的SRC

您應該也可能將該代碼放在一個函數中,這是很多JavaScript放入內聯HTML。

+0

+1爲解決方案和在夏威夷工作。我希望我在那裏:-) – 2010-04-10 02:28:57

+0

@claudio - 大聲笑,謝謝,我不能抱怨;) – jaywon 2010-04-10 02:32:16

+0

jaywon,你的意見給我很多感。非常感謝。 – 2010-05-28 12:00:26

1

要補充@jaywon答案,如果是這種情況,您可以使用它來確保它匹配,無論是絕對還是相對URL。

if (document.the_image.src.indexOf('01.jpg') > 0) { 
... 
} 
+0

+1好建議! – jaywon 2010-04-10 02:31:37

0

最後,我想出瞭如何發佈完整的代碼。非常感謝!:

<HTML> 
<head> 

<title></title> 
<script language="javascript"> 
    var name = prompt('What is your name?', ''); 
    document.writeln('Welcome, ' + name + '.'); 
</script> 
</head> 


<body> 

<a href="#" onMouseOver=" 
    if (document.the_image.src == '01.jpg') 
    { 
     document.the_image.src = '02.jpg'; 
    } 
    else if (document.the_image.src == '02.jpg') 
    { 
     document.the_image.src = '03.jpg'; 
    } 
    else 
    { 
     document.the_image.src = '01.jpg'; 
    } 
    "> 
<img src="01.jpg" name="the_image"></a><br> 


</body> 

</HTML> 
+0

到目前爲止,您有沒有嘗試過任何建議? – jaywon 2010-04-10 03:41:20