javascript - 自动幻灯片不工作 JavaScript

标签 javascript html css slideshow

我目前正在尝试从 W3School 了解如何使用 JavaScript 创建幻灯片。手动幻灯片完美运行,但自动幻灯片无法以任何方式运行。

HTML:

<!DOCTYPE html>

<html>

<head>
    <link rel="stylesheet" href="styles.css">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="scripts.js"></script>
</head>

<body>

    <div id="main_adverts">
        <img class="slide" src="images/imgslider1.jpg"/>
        <img class="slide" src="images/imgslider2.jpg"/>
        <img class="slide" src="images/imgslider3.jpg"/>
    </div>
</body>
<html>

JavaScript:

var myIndex = 0;
carousel();

function carousel() {
    var i;
    var x = document.getElementsByClassName("slide");
    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, 2000); // Change image every 2 seconds
}

CSS:

#main_adverts{
    width: 70%;
    height: 70%;
    position: absolute;
    top: 20%;
    left: 15%;
    border: 1px solid black;
}

#main_adverts img{
    width: 100%;
    height: 100%;
    position: absolute;
}

最佳答案

对于将来可能遇到此问题的任何人。解决此问题的最安全方法是像下面这样包装您的代码:

window.onload = function(){
    //Your code here
}

这样一来,无论您将 JavaScript 放在 HTML 文件中的什么位置,它都会等待页面完全加载后再执行。

关于javascript - 自动幻灯片不工作 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43149429/

相关文章:

html - 如何防止从倾斜的父级继承的文本的转换

html - 将 svg 图像颜色更改为渐变

javascript - 单选按钮检查

html - Modernizr 和样板

javascript - 通过python在网络浏览器上显示arduino串口数据

javascript - 在内容可编辑的 div 中将文本格式化为用户输入

html - 如何在 HTML 中创建可编辑的下拉列表?

javascript - 条件形式隐藏第一类而不是第二类选择类

javascript - AngularJS ng-show自动动画?

javascript - 如何在 Next.js 中访问 getServerSideProps 中的路由参数?