2016-11-29 92 views
0

我有這個代碼,即有問題。在Internet Explorer上運行js問題

var myIndex = 0; 
carousel(); 

function carousel() { 
var i; 
var x = document.getElementsByClassName("mySlides"); 
for (i = 0; i < x.length; i++) { 
    x[i].style.display = "none"; 
} 
myIndex++; 
if (myIndex > x.length) {myIndex = 1} 
x[myIndex-1].style.display = "block"; 
setTimeout(carousel, 3000); // Change image every 2 seconds 
} 

開發工具說,以下行是問題。它不會在我的網站上運行任何JS!所以我想這是因爲這個問題。我知道這可能是非常基本的東西......可惜我不是JS識字:(

var x = document.getElementsByClassName("mySlides"); 

的錯誤是

對象不支持此屬性或方法

置身於一個業餘JS我很高興我的網站做的奇蹟在Chrome和Firefox - 直到我的幸福墜毀一如既往地與IE瀏覽器...

將不勝感激,如果有人可以幫助闡明這一些輕

順便說一句我的文檔類型聲明爲

<!DOCTYPE html> 
<html> 

如果有,用它做任何事情。

預先感謝任何幫助

我的網站,我正在開發是http://www.mylaundrywala.com ...正如我所提到的Chrome和Firefox的罰款。

+2

什麼版本是IE瀏覽器? 'getElementsByClassName'只適用於IE9及更高版本。 – Nope

+0

版本號爲8 – user3526204

+0

Ohk ...所以如果你能告訴我一個替代方案,那將是非常好的。 – user3526204

回答

1

舊IE犯規支持getByClassName。

您可以使用下面的代碼爲週轉此

function getElementsByClassName(className) { var found = []; var elements = document.getElementsByTagName("*"); for (var i = 0; i < elements.length; i++) { var names = elements[i].className.split(' '); for (var j = 0; j < names.length; j++) { if (names[j] == className) found.push(elements[i]); } } return found; }

+0

非常感謝Rupesh。還有一件事。我怎樣才能從這裏得到變量x。對不起,我聽過業餘愛好者。但我就是這樣... – user3526204

+0

嘿,我也是。現在我的滑塊工作正常,即8!謝謝了@Rupesh Dhadiwal的解決方案 – user3526204