滑块未显示

时间:2017-03-08 15:08:52

标签: javascript jquery html css 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}
  }
你能帮助我吗?此外,当我从幻灯片转到幻灯片时,它变得越来越快,我想保持相同的速度?

有人可以帮忙吗?谢谢

1 个答案:

答案 0 :(得分:0)

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

<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>