<script language="javascript">
var slideIndex = 0;
showSlides();
function plusSlides(n) {
showSlides(slideIndex += n);
}
function currentSlide(n) {
showSlides(slideIndex = n);
}
function showSlides() {
var i;
//var slides = document.getElementsByClassName("mySlides");
var slides = document.getElementsByClassName("col", "div", document.getElementById("mySlides"));
for (i = 0; i < slides.length; i++) {
slides[i].style.display = "none";
}
slideIndex++;
if (slideIndex> slides.length) {slideIndex = 1}
slides[slideIndex-1].style.display = "block";
setTimeout(showSlides, 2000); // Change image every 2 seconds
}
</script>
我已經在我的HTML中編寫了此JavaScript,並且它可以正常工作。但是,當我運行它HTA文件,覆蓋style.display屬性時無法獲取未定義或空引用的'樣式'
在行
"slides[slideIndex-1].style.display = "block";"
「覆蓋style.display
屬性時無法獲得的未定義或空引用 ‘風格’」但它確實會拋出錯誤在行不會引發錯誤
slides[i].style.display = "none";
如果'getElementsByClassName'返回一個空的HTML集合,則此處的代碼看起來像會引發錯誤。 「幻燈片」的「長度」是多少? – Vestride
檢查salides.length是否爲0.您正在重置slideIndex爲1.這可能會導致未定義的 – Juan
'document.getElementsByClassName(「col」,「div」,document.getElementById(「mySlides」))'似乎是錯誤的 – brk