javascript - 制作 Javascript 简单的幻灯片

标签 javascript jquery html css slideshow

我正在尝试创建一个简单的幻灯片,但它似乎无法正常工作,有人知道我做错了什么吗??

这是我的代码:

var img = document.getElementsByTagName('img');
index = 0;
for (j = 0; j < img.length; j++) {
  img[j].style.display = 'none';
}

function slider() {
  if (index < img.length) {
    img[index - 1].style.display = 'none';
    img[index].style.display = 'block';
    index++;
  } else {
    img[index - 1].style.display = 'none';
    img[index].style.display = 'block';
    index = 0;
  }
}
slider();
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
<div class="w3-content w3-display-container">
  <img class="mySlides" src="img_snowtops.jpg" style="width:100%">
  <img class="mySlides" src="img_lights.jpg" style="width:100%">
  <img class="mySlides" src="img_mountains.jpg" style="width:100%">
  <img class="mySlides" src="img_forest.jpg" style="width:100%">

  <button class="w3-button w3-black w3-display-left" onclick="slider()">&#10094;</button>
  <button class="w3-button w3-black w3-display-right" onclick="plusDivs(1)">&#10095;</button>
</div>

提前致谢

最佳答案

请尝试此代码。
我已经实现了 sliderplusDivs 功能。我希望这个输出是您的预期结果。

html:

<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
<div class="w3-content w3-display-container">
  <img class="mySlides" src="https://dummyimage.com/600x400/000/fff&text=1" style="width:100%">
  <img class="mySlides" src="https://dummyimage.com/600x400/000/fff&text=2" style="width:100%">
  <img class="mySlides" src="https://dummyimage.com/600x400/000/fff&text=3" style="width:100%">
  <img class="mySlides" src="https://dummyimage.com/600x400/000/fff&text=4" style="width:100%">

  <button class="w3-button w3-black w3-display-left" onclick="slider()">&#10094;</button>
  <button class="w3-button w3-black w3-display-right" onclick="plusDivs()">&#10095;</button>
</div>

js:

var img = document.getElementsByTagName('img');
index = 0;
for (j = 1; j < img.length; j++) {
  img[j].style.display = 'none';
}

function slider() {
  img[index].style.display = 'none';

  index--;
  if (index < 0) {
    index = img.length - 1;
  }
  img[index].style.display = 'block';
}

function plusDivs() {
  img[index].style.display = 'none';

  index++;
  if (index > img.length - 1) {
    index = 0
  }
  img[index].style.display = 'block';
}

JSFiddle:https://jsfiddle.net/kuromoka/hn4wm1be/

关于javascript - 制作 Javascript 简单的幻灯片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52873815/

相关文章:

javascript - 如何根据数据属性更改元素值?

javascript - 如何向 jquery ajax 成功和错误函数添加更多参数

javascript - 关联 Jquery 中同一元素问题的脚本

javascript - :last for table

html - 显示 : Table and Table-Cell

javascript - <head> 使用浏览器打开时不加载脚本

javascript - 鼠标悬停时显示网页预览

javascript - 遍历具有相同类的动态生成的 HTML 元素,并使用它们的数据构建对象

jquery - 悬停事件的背景图像更改,z-index 问题?

Javascript - 在自动完成结果上单击添加永久占位符