W3.CSS を使用したマニュアルのスライドショーを表示するのは非常に簡単です。
先ず、同じクラス名を持つ要素を多数作成し:
<img class="mySlides" src="img_fjords.jpg">
<img class="mySlides" src="img_lights.jpg">
<img class="mySlides" src="img_mountains.jpg">
<img class="mySlides" src="img_forest.jpg">
次に、画像をスクロールする 2 つのボタン設定し:
<a class="w3-btn-floating" onclick="plusDivs(-1)">❮</a>
<a class="w3-btn-floating" onclick="plusDivs(+1)">❯</a>
最後に、画像を選択するための 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";
}
Try It Yourself ❯
まず、slideIndex に 1 を設定する。(最初の写真)
次に、最初の写真を表示するために showDivs() を呼び出す。
ユーザが、いずれかのボタンをクリックしたときに plusDivs() を呼び出す。
plusDivs() 関数は、slideIndex から 1 を引くか、1 を加える。
showDiv() 関数は、クラス名 "mySlides" を持つすべての要素を非表示にし(display="none")、 指定された slideIndex を持つ要素を表示する(display="block")。
slideIndex が要素数(x.length)よりも大きい場合、slideIndex にはゼロを設定する。
slideIndex が要素数 1 よりも小さい場合、slideIndex には要素数(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
}
Try It Yourself ❯
スライドは画像である必要はありません。
全ての HTML コンテンツを指定できます:
<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>
Try It Yourself ❯
w3-display-* クラス (topleft, topright, bottomleft, bottomright、middle)で、 各画像スライドに説明文(caption)を追加します:
<div class="w3-display-container mySlides">
<img src="img_fjords.jpg"
style="width:100%">
<div class="w3-display-bottomleft w3-container
w3-padding-16 w3-black">
Trolltunga, Norway
</div>
</div>
Try It Yourself ❯
スライドショーのスライド枚数と、ユーザが現在見ているスライドの位置を示すのに、ボタンを使用した例です。
<div class="w3-center">
<button class="w3-btn" onclick="plusDivs(-1)">❮
Prev</button>
<button class="w3-btn" onclick="plusDivs(1)">Next
❯</button>
<button class="w3-btn demo" onclick="currentDiv(1)">1</button>
<button class="w3-btn demo" onclick="currentDiv(2)">2</button>
<button class="w3-btn demo" onclick="currentDiv(3)">3</button>
</div>
Try It Yourself ❯
他の例:
<div class="w3-content w3-display-container">
<img class="mySlides"
src="img_nature.jpg">
<img class="mySlides" src="img_fjords.jpg">
<img class="mySlides" src="img_mountains.jpg">
<div
class="w3-center w3-display-bottomleft" style="width:100%">
<div class="w3-left" onclick="plusDivs(-1)">❮</div>
<div class="w3-right" onclick="plusDivs(1)">❯</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>
Try It Yourself ❯
インジケータに画像を使用している例です:
<div class="w3-content" style="max-width:1200px">
<img class="mySlides"
src="img_nature_wide.jpg" style="width:100%">
<img class="mySlides"
src="img_fjords_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-border
w3-hover-shadow"
src="img_nature_wide.jpg"
onclick="currentDiv(1)">
</div>
<div class="w3-col s4">
<img class="demo
w3-border w3-hover-shadow"
src="img_fjords_wide.jpg"
onclick="currentDiv(2)">
</div>
<div class="w3-col s4">
<img class="demo
w3-border w3-hover-shadow"
src="img_mountains_wide.jpg"
onclick="currentDiv(3)">
</div>
</div>
</div>
Try It Yourself ❯
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">
Try It Yourself ❯
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">
Try It Yourself ❯