2016-11-29 69 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