javascript - slider 不显示

标签 javascript jquery html css slider

我有以下 slider ,但是当我加载页面时它不显示第一张图片。我必须单击按钮才能加载图像。我该怎么做才能默认显示第一张图片?这是我的 JavaScript:

<script>
 var slideIndex = 1;
 showSlides(slideIndex);

 function plusSlides(n) {
 showSlides(slideIndex += n);
}

function currentSlide(n) {
  showSlides(slideIndex = n);
}


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, 2000); // Change image every 2 seconds
 }
 </script>

这是我的 html:

 <div class="slideshow-container">
  <div class="mySlides fade">
   <div class="numbertext">1 / 3</div>

   <img src="view8.png" style="width:100%">
  <div class="title">David Lee CEO of Hing Wa Lee Group</div>

 <div class="text">David Lee has turned the Hing Wa Lee Group Into one of the       largest luxury watch retailers in the US</div>
    <!--------BUTTON-------->
    <div id="hovers">
        <a href="#" class="buttonslider">
            <span class="contentbutslider"> Read More</span>
        </a></div>
</div>

 <div class="mySlides fade">
   <div class="numbertext">2 / 3</div>
   <img src="view9.png" style="width:100%">
    <div class="title">One on One Business Lessons</div>
   <div class="text">Gain Access To Weekly World Entrepreneurs and their stories to success.</div>
        <!--------BUTTON-------->
    <div id="hovers">
        <a href="#" class="buttonslider">
            <span class="contentbutslider"> Read More</span>
        </a></div>
 </div>

这是我的 CSS:

* {box-sizing:border-box}

/* Slideshow container */
.slideshow-container {
max-width: 1600px;
height:438px;
position: relative;
margin: auto;
}

 .mySlides {
   display: none;
}

  /* Next & previous buttons */
 .prev, .next {
   cursor: pointer;
    position: absolute;
    top: 50%;
    width: auto;
    margin-top: -22px;
    padding: 16px;
    color: white;
    font-weight: bold;
    font-size: 28px;
    transition: 0.6s ease;
    border-radius: 0 3px 3px 0;
  }

  /* Position the "next button" to the right */
  .next {
    right: 0;
    border-radius: 3px 0 0 3px;
  }

  /* On hover, add a black background color with a little bit see-through */
  .prev:hover, .next:hover {
    background-color: rgba(0,0,0,0.8);
  }

  /* Caption title and text */
  .title {
    color: #f2f2f2;
    font-size: 58px;
    padding: 18px 22px;
    position: absolute;
    bottom: 158px;
    width: 100%;
    text-align: center;
  }
  .text {
    color: #f2f2f2;
    font-size: 28px;
    padding: 18px 22px;
    position: absolute;
    bottom: 78px;
    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 {
    cursor:pointer;
    height: 13px;
    width: 13px;
    margin: 0 2px;
    background-color: #bbb;
    border-radius: 50%;
    display: inline-block;
    transition: background-color 0.6s ease;
  }

  .active, .dot:hover {
    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}
  }

你能帮我吗?另外,当我从一张幻灯片转到另一张幻灯片时,它变得越来越快,我想保持相同的速度吗?

有人可以帮忙吗?谢谢

最佳答案

修改了所有代码,请再次检查:

<script>
var slideIndex = 0;

function plusSlides(n) {
  slideIndex += n;
  showSlides();
}

function currentSlide(n) {
  slideIndex = n;
  showSlides();
}


function showSlides() {
   var slides = document.getElementsByClassName("mySlides");
   for (var i = 0; i < slides.length; i++) {
       slides[i].style.display = "none"; 
   }
   slideIndex++;
   if (slideIndex> slides.length) {slideIndex = 0} 
   slides[slideIndex].style.display = "block"; 
 }

 setTimeout(showSlides, 2000); // Change image every 2 seconds
 </script>

关于javascript - slider 不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42674927/

相关文章:

javascript - 通过简单的计算将 Excel 电子表格转换为在线网格

javascript - 动态获取选中输入的值并使用 AJAX 发送

javascript - 从 onchange 属性调用 javascript 类函数

javascript - Phonegap 应用程序 - 如何从 Json Web 服务响应获取图像?

javascript - Ajax 无法将表单 ID 发送到 MVC Controller

javascript - 兄弟组件通信在 vue 中不起作用

javascript - 如何使用 jQuery 迭代选择 html 选项,具体取决于另一个选择 html 元素的选项值

javascript - jQuery animate() 改变文本

html - 使用 flexbox 和伪元素构建 line-through 样式

javascript - document.getElementById ('myID' 的 JSDoc 类型和 jQuery 元素是什么?