自动幻灯片放映不起作用

时间:2016-08-16 20:09:49

标签: javascript html css

我希望在html页面上有一个幻灯片,并在W3网站上找到一个html / javascript代码并将其复制。但它不起作用。我得到的只是列出的3张图片。我一直在看这里给出的关于这个主题的一些问题,但我仍然无法找出问题所在。我认为代码已经完成并准备好了。所以,我需要一些帮助。 代码如下:

javascript          //自动幻灯片 - 每3秒更换一次图像     var slideIndex = 0;     showSlides();

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>

3 个答案:

答案 0 :(得分:0)

你需要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>

答案 1 :(得分:0)

您的代码唯一的问题是,您对<img><div>代码具有相同的类,从class="mySlides"代码中删除<img>,您的滑块也能正常运行

答案 2 :(得分:0)

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