2011-02-24 63 views
0

這可以在Chrome,Firefox等中正常工作,但不能在IE7中正常工作。我在第16行得到一個錯誤:「對象不支持這個動作」。它似乎在這一行失敗:image0.href ='http://www.google.com';image#.href在ie7中保持失敗。這是爲什麼?

if (document.images) { 
image0 = new Image; 
image1 = new Image; 
image2 = new Image; 
image3 = new Image; 
image4 = new Image; 
image5 = new Image; 
image6 = new Image; 
image7 = new Image; 
image8 = new Image; 

image0.src = '\/images\/image1.jpg' ; 
image0.href = 'http://www.google.com'; 
image1.src = '\/images\/image2.jpg'; 
image1.href = 'http:\/\/www.google.com'; 
image2.src = '\/images\/image3.jpg'; 
image2.href = 'http:\/\/www.google.com'; 

image3.src = 'images\/image4.jpg'; 
image3.href = 'http:\/\/www.google.com'; 
image4.src = 'images\/image5.jpg'; 
image4.href ='http:\/\/www.google.com'; 
image5.src = 'images\/image6.jpg'; 
image5.href = 'http:\/\/www.google.com'; 

image6.src = 'images\/image7.jpg'; 
image6.href ='http:\/\/www.google.com'; 
image7.src = 'images\/image8.jpg'; 
image7.href = 'http:\/\/www.google.com'; 
image8.src = 'images\/image9.jpg'; 
image8.href = 'http:\/\/www.google.com'; 

} else { 
image0 = ''; 
image1 = ''; 
image2 = ''; 
image3 = ''; 
image4 = ''; 
image5 = ''; 
image6 = ''; 
image7 = ''; 
image8 = ''; 
document.rollimg = ''; 
document.rollimg2 = ''; 
document.rollimg3 = ''; 
} 
+0

我錯過了什麼嗎?爲什麼你要在圖像中指定一個href?據我所知,href不是img的屬性。 – canon

回答

0

財產src是正確的。酒店href不存在:圖像不是鏈接。 Firefox和/或Chrome可能會默默地忽略這一點,但它是無效的。

請參閱this thread

此外,沒有理由逃避正斜槓。

+0

好吧,我很高興IE是胡思亂想,讓我重新思考我的代碼!謝謝! :) – steph

+0

@steph:沒問題!爲了其他SO用戶的利益,如果您覺得它是正確的,請「接受」答案。 –

2
image0 = new Image; 

構造函數是功能

image0 = new Image(); 

圖片不具有href屬性,所以這是沒有意義的:

image0.href = 'http://www.google.com'; 

而且東西是有害的,而不是壞了。

image0 = new Image; 
image1 = new Image; 
image2 = new Image; 

使用數組!

image0.src = '\/images\/image1.jpg' ; 

/字符在一個字符串JS沒有特殊含義,它並不需要進行轉義。

image0 = new Image; 

Globals is evil。使用範圍變量。

var image0 = new Image; 

...並將它們限制在對您需要做的事情有意義的最窄範圍內。

+0

啊,非常感謝你的建議!我是一個總的JavaScript新人,你們可以看到哈哈。得到它的工作:-) – steph

+0

我喜歡你最後的例子完全矛盾你在同一篇文章中的初步建議。 –

+0

它專注於一個特定的問題,而不是之前提到的所有內容。 – Quentin