【JavaScript】imgの特定idのsrcを変更する。
時々忘れる、JSで特定アクションの後に画像などの参照先を変換する方法のメモです。
index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="style.css"> <title>Document</title> </head> <body> <div class="center"> <div> <img src="./01.jpg" id="main"> </div> <ul> <!-- data-xxxが、JSの.dataset.xxxに拾われるようだ。--> <li><img src="./01.jpg" class="thumb" alt="" data-img="./01.jpg"></li> <li><img src="./02.jpg" class="thumb" alt="" data-img="./02.jpg"></li> <li><img src="./03.jpg" class="thumb" alt="" data-img="./03.jpg"></li> <li><img src="./04.jpg" class="thumb" alt="" data-img="./04.jpg"></li> </ul> </div> <script src="./script.js"></script> </body> </html>
section img { width: 756px; } #main { width: 756px; } .center{ margin: 0 auto 0 auto; max-width: 90%; width: 500px; } ul { display: flex; margin: 0; padding: 0; list-style-type: none; } li { flex: 1 1 auto; margin-right: 8px; } li:last-of-type { margin-right: 0; } .thumb { width: 160px; padding: 10px; }
const thumbs = document.querySelectorAll('.thumb') thumbs.forEach(function(item, index){ item.onclick = function(){ const imgUrl = document.getElementById('main') //setAttribute('src', 変えたい画像の変数)で、上記コードで指定したidのsrcの参照先を変換します。 const src = imgUrl.setAttribute('src', this.dataset.img) } })