2011-08-29 86 views
0

我知道這是之前問過的,但沒有給出任何答案來解決我的問題。很顯然,很多人都在使用Chrome和Safari獲得同樣的錯誤,所以我認爲如果可能的話,一個解釋的答案將是合適的。我的JavaScript老師從來沒有教過我們只會導致我們錯誤的道路,並說忘記,所以我不明白我有的代碼,但我必須讓它在所有瀏覽器中工作。未捕獲的類型錯誤:無法設置未定義的屬性'src'

這裏是我的代碼:

<div class="gallery" align="center"> 
<h3>Simple and Effective Photo Gallery with HTML and JavaScript</h3><br/> 
<div class="thumbnails"> 
<img onmouseover="preview.src=img1.src" id="img1" src="img1.jpg" alt="Image Not Loaded"/> 
<img onmouseover="preview.src=img2.src" id="img2" src="img2.jpg" alt="Image Not Loaded"/> 
<img onmouseover="preview.src=img3.src" id="img3" src="img3.jpg" alt="Image Not Loaded"/> 
<img onmouseover="preview.src=img4.src" id="img4" src="img4.jpg" alt="Image Not Loaded"/> 
<img onmouseover="preview.src=img5.src" id="img5" src="img5.jpg" alt="Image Not Loaded"/> 
<img onmouseover="preview.src=img6.src" id="img6" src="img6.jpg" alt="Image Not Loaded"/> 
</div><br/> 
<div class="preview" align="center"> 
<img id="preview" src="img1.jpg" alt="No Image Loaded"/> 
</div> 
</div> 

請幫助!

+0

替換'preview.src'與'的document.getElementById( 「預覽」)src',看看有沒有什麼幫助。當然,統一的功能會更好。 – Blazemonger

+0

下面是正確的路徑:[MDN JavaScript指南](https://developer.mozilla.org/en/JavaScript/Guide) –

回答

3
document.getElementById("preview").src = "img1.jpg"; 
2

您不能在Javascript中使用元素的名稱。您必須獲取與該元素對應的DOM對象:

onmouseover="document.getElementById('preview').src=this.src" 
+0

不幸的是,IE爲具有ID的元素創建全局變量。 –

1

您不能更改那樣的src。而是使用:

document.getElementById('preview').src=.... 

這裏是它最簡單的形式:)

0
<script> 
var prev; 
function setPrev(img) { 
prev = prev || document.getElementById('preview'); 
prev.src = img.src; 
return false; 
} 
</script>  
<div class="gallery" align="center"> 
<h3>Simple and Effective Photo Gallery with HTML and JavaScript</h3><br/> 
    <div class="thumbnails"> 
     <img onmouseover="setPrev(this)" id="img1" src="img1.jpg" alt="Image Not Loaded"/> 
     <img onmouseover="setPrev(this)" id="img2" src="img2.jpg" alt="Image Not Loaded"/> 
     <img onmouseover="setPrev(this)" id="img3" src="img3.jpg" alt="Image Not Loaded"/> 
     <img onmouseover="setPrev(this)" id="img4" src="img4.jpg" alt="Image Not Loaded"/> 
     <img onmouseover="setPrev(this)" id="img5" src="img5.jpg" alt="Image Not Loaded"/> 
     <img onmouseover="setPrev(this)" id="img6" src="img6.jpg" alt="Image Not Loaded"/> 
    </div> 
    <br/> 
    <div class="preview" align="center"> 
    <img id="preview" src="img1.jpg" alt="No Image Loaded"/> 
    </div> 
    </div> 
相關問題