javascript - 自动 slider 手动控制不适用

标签 javascript html css

我正在尝试向自动 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/

相关文章:

css - 使复选框+标签在表单中正确对齐

javascript - 如何使用 TR 滚动选项框?

html - 边距 : 0 auto not working even with display: block

javascript - 列的跨度文本长度(或 li)

javascript - Jquery定时器倒计时和计数

javascript - 从另一个页面加载和更改 iFrame 'src'

javascript - 为什么点击我动态创建的 html 被插入到最后一张循环卡上

css - 通过 anchor 标记使整个 <td> 可点击

javascript - 在 XMPP 中的群聊 (MUC) 中解析占用者的真实 KID

Javascript 事件 - 如何使此代码干燥