javascript - 如何在 HTML/CSS 中自动播放幻灯片

标签 javascript jquery html css

我正在尝试使幻灯片中的图片自动更改。 我查看了其他问题,但我发现人们使用与我不同的方法创建幻灯片,并且我使用了其他问题中提到的步骤,但无法运行它。

这是我的 HTML 代码:

<div id="slider">
<div id="slide-wrapper" class="rounded clear"> 
<script src="images\demo\slider\slideshow.js"></script>

  <figure id="slide-1"><a class="view" href="#"><img src="images/demo/slider/1.png" alt=""></a>
    <figcaption>
      <h2>Text</h2>
      <p>Text</p>
      <p class="right"><a href="#">Continue Reading &raquo;</a></p>
    </figcaption>
  </figure>
  <figure id="slide-2"><a class="view" href="#"><img src="images/demo/slider/2.png" alt=""></a>
    <figcaption>
      <h2>Text</h2>
      <p>Text.</p>
      <p class="right"><a href="#">Continue Reading &raquo;</a></p>
    </figcaption>
  </figure>
  <figure id="slide-3"><a class="view" href="#"><img src="images/demo/slider/3.png" alt=""></a>
    <figcaption>
      <h2>Text</h2>
      <p>Text</p>
      <p class="right"><a href="#">Continue Reading &raquo;</a></p>
    </figcaption>
  </figure>
  <figure id="slide-4"><a class="view" href="#"><img src="images/demo/slider/4.png" alt=""></a>
    <figcaption>
      <h2>Text</h2>
      <p> Text</p>
      <p class="right"><a href="#">Continue Reading &raquo;</a></p>
    </figcaption>
  </figure>
  <figure id="slide-5"><a class="view" href="#"><img src="images/demo/slider/5.png" alt=""></a>
    <figcaption>
      <h2>Text</h2>
      <p>Text</p>
      <p class="right"><a href="#">Continue Reading &raquo;</a></p>
    </figcaption>
  </figure>

  <ul id="slide-tabs">
    <li><a href="#slide-1">Text</a></li>
    <li><a href="#slide-2">Text<br>Text.</a></li>
    <li><a href="#slide-3">Text<br> Text</a></li>
    <li><a href="#slide-4">Text?<br>Text</a></li>
    <li><a href="#slide-5">Text?<br> Text</a></li>
  </ul>
</div>

这里是我用 javascript 失败的尝试 幻灯片.js

    var slideimages = new Array()
slideimages[0] = new Image()
slideimages[0].src = "1.png"
slideimages[1] = new Image()
slideimages[1].src = "2.png"
slideimages[2] = new Image()
slideimages[2].src = "3.png"
slideimages[3] = new Image()
slideimages[3].src = "4.png"
slideimages[4] = new Image()
slideimages[4].src = "5.png"


var step=0

function slideit(){
 if (!document.images)
  return
 document.getElementById('slide').src = slideimages[step].src
 if (step<2)
  step++
 else
  step=0
 setTimeout("slideit()",2500)
}

slideit()

图片在.js文件的同一文件夹

提前致谢

最佳答案

jQuery 选项:

Click Here for Demo.

function startSlides(start, end, delay) {
    setTimeout(slideshow(start,start,end, delay), delay);
}
function slideshow(frame, start, end, delay) {
    return (function() {
    $('#slideshow' + frame).fadeOut();
    if (frame == end) { frame = start; } else { frame += 1; }
    setTimeout(function(){$('#slideshow' + frame ).fadeIn();}, 850);
    setTimeout(slideshow(frame, start, end, delay), delay + 850);
})
}
// usage: startSlides(first frame, end frame, delay time);
startSlides(1, 4, 5000);

还有..另一个 jQuery 选项:

Click Here for Demo.

$(function () {
    $("img").hide();
    $("img").first().show();
    $("img").click(function () {
      $(this).hide();
      if ($(this).next().length === 0) {
        $("img").first().show();
      } else {
        $(this).next().show();
      }
  });
});

还有第一名。 CSS3 选项!

Click Here for Demo.

.items {
    width:999px;
    -webkit-animation: hscroll 12s infinite;
    -moz-animation: hscroll 12s infinite;
    -ms-animation: hscroll 12s infinite;
}

@-webkit-keyframes hscroll {
  0%   { margin-left: 0; }
27.33%  { margin-left: 0 }
  33.33%  { margin-left: -333px; }
60.66% { margin-left: -333px; }
66.66% { margin-left: -666px; }
94.99% { margin-left: -666px; }
  100%  { margin-left: 0 }
}

@-moz-keyframes hscroll {
  0%   { margin-left: 0; }
27.33%  { margin-left: 0 }
  33.33%  { margin-left: -333px; }
60.66% { margin-left: -333px; }
66.66% { margin-left: -666px; }
94.99% { margin-left: -666px; }
  100%  { margin-left: 0 }
}

@-ms-keyframes hscroll {
  0%   { margin-left: 0; }
27.33%  { margin-left: 0 }
  33.33%  { margin-left: -333px; }
60.66% { margin-left: -333px; }
66.66% { margin-left: -666px; }
94.99% { margin-left: -666px; }
  100%  { margin-left: 0 }
}

关于javascript - 如何在 HTML/CSS 中自动播放幻灯片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30038410/

相关文章:

javascript - 无法访问 js 属性

javascript - 循环遍历所需的输入元素时,jQuery 'OR' 不起作用

javascript - 使用 ng-repeat 渲染嵌套指令时出错

javascript - 可拖动多个具有相同类的元素

jquery - 在 Windows XP 上使用 IE8 无法正确显示背景图像 .png

javascript - 使用 jQuery 检查 radio 时,检查 radio 是否被选中不起作用

javascript - 使用 d3.js 的交互式折线图

javascript - If 语句中不显示对话框

html - 样式组件按钮 href/onclick 不工作

javascript - 在文本框中输入某些内容后禁用按钮?