【问题标题】:automatic slide show does not work自动幻灯片放映不起作用
【发布时间】:2016-08-16 20:09:48
【问题描述】:

我想在 html 页面上显示幻灯片,并在 W3 网站上找到了一个 html/javascript 代码并复制了它。但它不起作用。我得到的只是以列表形式显示的 3 张图像。我一直在查看此处给出的有关该主题的一些答案,但我仍然无法找出问题所在。我认为代码已经完成并且可以使用了。所以请我需要一些帮助。 代码如下:

JavaScript // 自动幻灯片 - 每 3 秒更换一次图像 变量幻灯片索引 = 0; 显示幻灯片();

function showSlides() {
    var i;
    var slides = document.getElementsByClassName("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, 3000); 
}
the html
<!-- Slide Show section showing 3 img every 3 sec-->
    <div class="slideshow-container">
    <div class="mySlides fade">
    <img class="mySlides" src="../images/Icons/sa.png" alt="a" 
    style="width:100%">
    </div>
    <div class="mySlides fade">
    <img class="mySlides" src="../images/images/b.jpg" alt="b"
    style="width:100%" >
    </div>
    <div class="mySlides fade">
    <img class="mySlides" src="../images/images
     /c.jpg" alt="c"                  
    style="width:100%">
    </div>

【问题讨论】:

    标签: javascript html css


    【解决方案1】:

    您需要 CSS,样式是使其正常工作的重要组成部分。这是完整代码的链接:

    http://www.w3schools.com/howto/tryit.asp?filename=tryhow_js_slideshow_auto

    <style>
    * {box-sizing:border-box}
    body {font-family: Verdana,sans-serif;}
    
    /* Slideshow container */
    .slideshow-container {
      max-width: 1000px;
      position: relative;
      margin: auto;
    }
    
    /* Caption text */
    .text {
      color: #f2f2f2;
      font-size: 15px;
      padding: 8px 12px;
      position: absolute;
      bottom: 8px;
      width: 100%;
      text-align: center;
    }
    
    /* Number text (1/3 etc) */
    .numbertext {
      color: #f2f2f2;
      font-size: 12px;
      padding: 8px 12px;
      position: absolute;
      top: 0;
    }
    
    /* The dots/bullets/indicators */
    .dot {
      height: 13px;
      width: 13px;
      margin: 0 2px;
      background-color: #bbb;
      border-radius: 50%;
      display: inline-block;
      transition: background-color 0.6s ease;
    }
    
    .active {
      background-color: #717171;
    }
    
    /* Fading animation */
    .fade {
      -webkit-animation-name: fade;
      -webkit-animation-duration: 1.5s;
      animation-name: fade;
      animation-duration: 1.5s;
    }
    
    @-webkit-keyframes fade {
      from {opacity: .4}
      to {opacity: 1}
    }
    
    @keyframes fade {
      from {opacity: .4}
      to {opacity: 1}
    }
    
    /* On smaller screens, decrease text size */
    @media only screen and (max-width: 300px) {
      .text {font-size: 11px}
    }
    </style>
    

    【讨论】:

    • 您好阿曼达,对不起,我的问题不完整。我确实有 CSS 样式,我只使用正文选择器和值,因为我不需要标题或点。一个“堆垛机”同胞给出的另一个解决方案并没有解决问题。我认为最好的方法是将整个内容原样复制到一个单独的 html 文件中,然后看看它是否有效。谢谢!!
    【解决方案2】:

    您的代码的唯一问题是 &lt;img&gt;&lt;div&gt; 标记具有相同的类,从您的 &lt;img&gt; 标记中删除 class="mySlides" 并且您的滑块将正常工作。

    【讨论】:

    • 你好,如果我没记错的话 div 和 img 标签是不同的。 div 是 mySlides 淡入淡出,img 是 mySlides。
    • 但是我按照你的建议做了,但还是不行。
    • 您好 Ncherel,感谢您的努力!我测试了你的建议,但我仍然得到相同的结果。没有幻灯片,图像显示为列表。所以其他地方有问题,而不是代码。我想当我有更多的知识并且可以更好地分析它时,我会留下这个不错的脚本。还是谢谢你!。
    【解决方案3】:

    正如我所建议的,我将原始代码复制到一个新的 html 文件中并运行它,但它根本不起作用。我什至尝试更改容器的宽度以查看是否有任何响应而没有。所有图像都以原始大小和列表形式出现。很奇怪。那么请多提些建议?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-22
      • 2019-01-17
      • 1970-01-01
      • 2015-06-30
      • 1970-01-01
      • 2012-10-13
      • 1970-01-01
      • 2015-04-21
      相关资源
      最近更新 更多