【发布时间】:2019-06-28 15:23:36
【问题描述】:
除了页面最初加载时,我的幻灯片效果很好。我一开始就将我的 CSS 设置为“display:none”,然后当点击下一个按钮时,Javascript 循环遍历图像以将它们显示为内联块。但是,开始时第一张图片显示为“无”。
我确信有一种方法可以只显示第一张图片,同时隐藏所有图片。我对此很陌生。
我在 w3schools.com 上学习了一个教程:https://www.w3schools.com/howto/howto_js_slideshow.asp
您可以在我的 codepen 上查看我的完整代码和产品: https://codepen.io/catherinehh/pen/orpeJV
CSS:
.slideshow-container {
max-width: 1000px;
position: relative;
margin: auto;
}
/* Hide the images by default */
.slideImg {
display: none;
}
JAVASCRIPT:
var slideIndex = 1;
function nextSlide(n){
showSlides(slideIndex += n);
}
function currentSlide(n){
showSlides(slideIndex = n);
}
function showSlides(n){
var i;
var slides = document.getElementsByClassName("slideImg");
if (n > slides.length){
slideIndex = 1;
}
if (n < 1){
slideIndex = slides.length;
}
for (i = 0; i < slides.length; i++) {
slides[i].style.display = "none";
}
slides[slideIndex-1].style.display = "inline-block";
}
我基本上是逐行遵循 w3schools.com 上的教程,但我找不到我的代码与教程的不同之处。它应该像该页面上的幻灯片一样运行。
感谢任何帮助!谢谢!
【问题讨论】:
-
您必须在
<body>的底部添加一个<script>
标签: javascript html css for-loop slideshow