前提・実現したいこと
javascript初心者です。
三枚の画像を順番にスライドさせるスライドショーを作ろうと思っています。
三枚の画像を順番にスライドさせるところまではできたのですが、
ループをさせるために一番最初の画像を最後に追加していくというやり方をしようと考えているのですが
そこがいまいちわかりません。
何かいい方法があれば教えてほしいです。
発生している問題・エラーメッセージ
エラーメッセージ
該当のソースコード
javascript
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="UTF-8"> 5 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 7 <link rel="stylesheet" href="style.css"> 8 <title>スライドショー</title> 9</head> 10<body> 11 <div id="slide"> 12 <img src="images/01.jpg"> 13 <img src="images/02.jpg"> 14 <img src="images/03.jpg"> 15 </div> 16 <script> 17 window.onload = slideshow; 18 19 let imgArray = document.querySelectorAll('#slide img') 20 let len = imgArray.length 21 var cnt = -1; 22 23 function slideshow(){ 24 if (cnt >= 0){ 25 imgArray[cnt].classList.add('active'); 26 } 27 28 if (cnt === 2){ 29 cnt = 0; 30 } 31 cnt++; 32 setTimeout(slideshow,3000) 33 } 34 </script> 35</body> 36</html> 37 38css 39@charset "UTF-8"; 40 41#slide { 42 width: 500px; 43 height: 400px; 44 overflow: hidden; 45 display: flex; 46 47} 48#slide img { 49 width: 500px; 50 height: 400px; 51 object-fit: cover; 52 transition: margin-left 2s; 53} 54.active { 55 margin-left: -500px; 56} 57
試したこと
appendChildを使って画像を追加してみたがよくわかりませんでした。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。