W3.CSS 幻灯片放映

Caption text
Caption text
Caption text

手动幻灯片

使用 W3.CSS 显示手动幻灯片非常容易。

只需创建许多具有相同类名的元素:

实例

<img class="mySlides" src="img_snowtops.jpg">
<img class="mySlides" src="img_lights.jpg">
<img class="mySlides" src="img_mountains.jpg">
<img class="mySlides" src="img_forest.jpg">

还有两个滚动图片的按钮:

实例

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

并添加一个 JavaScript 来选择图像:

实例

var slideIndex = 1;
showDivs(slideIndex);

function plusDivs(n) {
  showDivs(slideIndex += n);
}

function showDivs(n) {
  var i;
  var x = document.getElementsByClassName("mySlides");
  if (n > x.length) {slideIndex = 1}
  if (n < 1) {slideIndex = x.length} ;
  for (i = 0; i < x.length; i++) {
    x[i].style.display = "none";
  }
  x[slideIndex-1].style.display = "block";
}
亲自试一试 »

JavaScript 解释

首先,将slideIndex设置为1。(第一张图)

然后调用showDivs() 显示第一张图片。

当用户单击其中一个按钮时调用 plusDivs()

plusDivs() 函数减去 1 或 slideIndex。

showDiv() 函数隐藏 (display="none") 类名称为 "mySlides" 的所有元素,并显示 (display="block") 具有给定 slideIndex 的元素。

如果 slideIndex 高于元素数 (x.length),则 slideIndex 设置为零。

如果 slideIndex 小于 1,则将其设置为元素数 (x.length)。


自动幻灯片

显示自动幻灯片更简单。

你只需要一点不同的 JavaScript:

实例

var slideIndex = 0;
carousel();

function carousel() {
  var i;
  var x = document.getElementsByClassName("mySlides");
  for (i = 0; i < x.length; i++) {
    x[i].style.display = "none";
  }
  slideIndex++;
  if (slideIndex > x.length) {slideIndex = 1}
  x[slideIndex-1].style.display = "block";
  setTimeout(carousel, 2000); // Change image every 2 seconds
}
亲自试一试 »

HTML 幻灯片

幻灯片不一定是图片。

它们可以是任何 HTML 内容:

Slide 1

Lorem ipsum

Slide 2

Lorem ipsum

Slide 3

Lorem ipsum

实例

<div class="mySlides">
  <div class="w3-container w3-red">
  <h1><b>Did You Know?</b></h1>
  <h1><i>We plan to sell trips to the moon in the 2020s</i></h1>
</div>
亲自试一试 »

幻灯片标题

Snow, Norway
Northern Lights, Norway
Beautiful Mountains
The Rain Forest
Mountains!

使用 w3-display-* 类(topleft、topmiddle、topright、bottomleft、bottommiddle、bottomright、left、right 或 middle)为每张图片幻灯片添加标题文本:

实例

<div class="w3-display-container mySlides">
  <img src="img_snowtops.jpg" style="width:100%">
  <div class="w3-display-bottomleft w3-container w3-padding-16 w3-black">
    French Alps
  </div>
</div>
亲自试一试 »

幻灯片指示器

使用按钮指示幻灯片放映中有多少张幻灯片以及用户当前正在查看的幻灯片的示例。

实例

<div class="w3-center">
  <button class="w3-button" onclick="plusDivs(-1)">&#10094; Prev</button>
  <button class="w3-button" onclick="plusDivs(1)">Next &#10095;</button>

  <button class="w3-button demo" onclick="currentDiv(1)">1</button>
  <button class="w3-button demo" onclick="currentDiv(2)">2</button>
  <button class="w3-button demo" onclick="currentDiv(3)">3</button>
</div>
亲自试一试 »

另一个例子:

实例

<div class="w3-content w3-display-container">
  <img class="mySlides" src="img_nature.jpg">
  <img class="mySlides" src="img_snowtops.jpg">
  <img class="mySlides" src="img_mountains.jpg">
  <div class="w3-center w3-display-bottommiddle" style="width:100%">
    <div class="w3-left" onclick="plusDivs(-1)">&#10094;</div>
    <div class="w3-right" onclick="plusDivs(1)">&#10095;</div>
    <span class="w3-badge demo w3-border" onclick="currentDiv(1)"></span>
    <span class="w3-badge demo w3-border" onclick="currentDiv(2)"></span>
    <span class="w3-badge demo w3-border" onclick="currentDiv(3)"></span>
  </div>
</div>
亲自试一试 »

作为指标的图像

使用图像作为指标的例子:

实例

<div class="w3-content" style="max-width:1200px">
  <img class="mySlides" src="img_nature_wide.jpg" style="width:100%">
  <img class="mySlides" src="img_snow_wide.jpg" style="width:100%">
  <img class="mySlides" src="img_mountains_wide.jpg" style="width:100%">

  <div class="w3-row-padding w3-section">
    <div class="w3-col s4">
      <img class="demo w3-opacity" src="img_nature_wide.jpg"
      style="width:100%" onclick="currentDiv(1)">
    </div>
    <div class="w3-col s4">
      <img class="demo w3-opacity" src="img_snow_wide.jpg"
      style="width:100%;display:none" onclick="currentDiv(2)">
    </div>
    <div class="w3-col s4">
      <img class="demo w3-opacity" src="img_mountains_wide.jpg"
      style="width:100%;display:none" onclick="currentDiv(3)">
    </div>
  </div>
</div>
亲自试一试 »

同一页面上的多个幻灯片

要在一个页面上操作多个幻灯片,必须对每个幻灯片组的成员进行不同的分类:

实例

<div class="w3-content">
<img class="mySlides1" src="img_snowtops.jpg" style="width:100%">
<img class="mySlides1" src="img_lights.jpg" style="width:100%">
<img class="mySlides1" src="img_mountains.jpg" style="width:100%">
<img class="mySlides1" src="img_forest.jpg" style="width:100%">
</div>

<div class="w3-content">
<img class="mySlides2" src="img_la.jpg" style="width:100%">
<img class="mySlides2" src="img_ny.jpg" style="width:100%">
<img class="mySlides2" src="img_chicago.jpg" style="width:100%">
</div>
亲自试一试 »

动画幻灯片

使用 w3-animate-* 类从屏幕的顶部、底部、左侧或右侧滑动或淡入元素。

实例

<img class="mySlides w3-animate-top"    src="img_01.jpg">
<img class="mySlides w3-animate-bottom" src="img_02.jpg">
<img class="mySlides w3-animate-top"    src="img_03.jpg">
<img class="mySlides w3-animate-bottom" src="img_04.jpg">
亲自试一试 »

淡化动画

w3-animate-fading 类使元素淡入淡出(大约需要 10 秒)。

实例

<img class="mySlides w3-animate-fading" src="img_01.jpg">
<img class="mySlides w3-animate-fading" src="img_02.jpg">
<img class="mySlides w3-animate-fading" src="img_03.jpg">
<img class="mySlides w3-animate-fading" src="img_04.jpg">
亲自试一试 »