我正在尝试向自动 slider 添加手动控制:https://jsfiddle.net/t8ap0gvz/自动播放有效,但手动控制(上一个/下一个和点)不起作用。我做错了什么?
var slideIndex = 0;
var slides = document.getElementsByClassName("mySlides");
showSlides();
function showSlides() {
var i;
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, 5000); // Change image every 5 seconds
}
function currentSlide(no) {
var i;
for (i = 0; i < slides.length; i++) {
slides[i].style.display = "none";
}
slideIndex = no;
slides[no-1].style.display = "block";
}
function plusSlides(n) {
var newslideIndex = slideIndex + n;
if(newslideIndex < 4 && newslideIndex > 0){
currentSlide(newslideIndex);
}
}
最佳答案
在上面的回答中,他说了要加载的 DOM,在 JSfiddle 的 javascript 选项中更改了 javascript 的写入顺序。对于 onclick 中的函数,最好放在所有 html 之后,默认情况下,JSfiddle 放在 windows.onload 中,因此只需更改 No wrap - bottom of 中的顺序,这将起作用。
In LOAD TYPE select that option
在真实的 HTML 代码中,脚本标记将位于 HTML 正文的末尾。在脚本标签中。
关于javascript - 自动 slider 手动控制不适用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58883624/