質問を見ていただいてありがとうございsます。
###前提・実現したいこと
前提
サムネイルを一覧で表示するHTMLを作成いたしました。
(下記コード参照お願いします。)
実現したいこと
1 JavaScriptによって、サムネイルをクリックすると埋め込まれた動画(youtube)に表示が変わる。
2 サムネイルの数が増えてもまとめて対応できるコードの記述(できれば)
試したこと
動画のCSSをdisplay:none;にして、クリックによってblockに書き換えることを試みましたが、上手くいっておりません。
過去記事等検索いたしましたが問題解決には至っておらず、質問させていただきました。
どうぞよろしくお願いします。
エラー状況
サムネイルクリック後に反応がない。(動画が表示されない。)
動画のcss,display:noneをblockへの上書きの方法がいけない or 私が切り替えのJSのfunctionを適切にかけていないと思われます。正しいfunctionの記述方法、上記以外での動画への切り替え方法をお教え頂けたら幸いです。
###該当のソースコード
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>サムネイル 動画 切り替え</title> <style> .item { width: 25%; float: left; padding-bottom: 5%; } .item-box { height: 200px; width: 200px; margin: auto; background-color: #11D8B3; border-radius: 5px; } #movie{ display: none; } </style> </head> <body> <div class="item"> <div id="item-box"><a href="" id=img01><img src="img.jpeg" width="200" height="200" alt=""></a> <iframe id=movie width="200" height="200" src="https://www.youtube.com/embed/SIKSc397sn4" frameborder="0" allowfullscreen></iframe> </div> </div> <div class="item"> <div class="item-box"><a href="" id=img02><img src="img.jpeg" width="200" height="200" alt=""></a> <iframe id=movie width="200" height="200" src="https://www.youtube.com/embed/SIKSc397sn4" frameborder="0" allowfullscreen></iframe></div> </div> <div class="item"> <div class="item-box"><a href="" id=img02><img src="img.jpeg" width="200" height="200" alt=""></a> <iframe id=movie width="200" height="200" src="https://www.youtube.com/embed/SIKSc397sn4" frameborder="0" allowfullscreen></iframe></div> </div> <div class="item"> <div class="item-box"><a href="" id=img02><img src="img.jpeg" width="200" height="200" alt=""></a> <iframe id=movie width="200" height="200" src="https://www.youtube.com/embed/SIKSc397sn4" frameborder="0" allowfullscreen></iframe></div> </div> <script type="text/javascript"> function (){ document.getElementById('img01').addEventListener('click', function () { document.getElementById("img01").style.display="none"; document.getElementById("movie").style.display="block"; }}; </script> </body> </html>
回答2件
あなたの回答
tips
プレビュー