前提・実現したいこと
Wordpressを使用して下記のサイトの、以下画像部分(セレクトボックス機能と埋め込み)を作成したいです。
https://dragalialost.gamepedia.com/3D_Model_Viewer
試したこと
wordpressの「iframe」を使用して埋め込みはうまくいきましたが、
セレクトボックスの部分の作り方がわからなくて困っております。
どなたか知恵をお貸しいただけませんでしょうか。
ソースコード
[iframe width="100%" height="480px" src="https://poly.google.com/view/7S97pOzmItM/embed"]
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答1件
0
ベストアンサー
どうぞ(コピペです)
html
1<select id="advSelect" name="advSelect" onChange="changeModel(this)"></select>
js
1const adventurers = ["Aeleen", "Alain", "Althemia", "Amane", "Aoi", "Aurien", "Berserker", "Celliera", "Cibella", "Cleo", "Edward", "Eleonora", "Elisanne", "Erik", "Estelle", "Euden", "Ezelith", "Francesca", "Halloween Althemia", "Halloween Edward", "Halloween Elisanne", "Hawk", "Hildegarde", "Hope", "Irfan", "Joe", "Johanna", "Julietta", "Jurota", "Karina", "Karl", "Kleimann", "Lily", "Linus", "Luca", "Luther", "Malka", "Malora", "Maribelle", "Melody", "Melsa", "Mikoto", "Musashi", "Naveed", "Nefaria", "Nicolas", "Orion", "Orsem", "Philia", "Raemond", "Ranzal", "Rawn", "Renelle", "Rex", "Ricardt", "Rodrigo", "Ryozen", "Sinoa", "Sophie", "Taro", "Thaniel", "Vanessa", "Verica", "Vice", "Vida", "Waike", "Xainfried", "Xander", "Xania", "Zace", "Zardin"]; 2RLQ.push(function () { 3 $(document).ready(function () { 4 initializeAdvList(); 5 }); 6}); 7 8function initializeAdvList() { 9 if (!adventurers) { 10 return; 11 } 12 let advSelect = document.getElementById("advSelect"); 13 let advList = []; 14 for (const adv of adventurers) { 15 advList.push(adv); 16 } 17 _populateSelectBox(advSelect, advList); 18} 19 20function _populateSelectBox(ele, list, defaultIndex = 0) { 21 ele.options.length = 0; 22 for (let i = 0; i < list.length; i++) { 23 let opt = document.createElement('option'); 24 opt.innerHTML = list[i]; 25 opt.value = list[i]; 26 ele.appendChild(opt); 27 } 28 ele.selectedIndex = defaultIndex; 29} 30 31function changeModel(obj) { 32 value = obj.value; 33 modelViewer = document.getElementById("modelViewer"); 34 if (getModelEmbedSrcLink(value) != '') { 35 modelViewer.innerHTML = '<iframe width="100%" height="480px" src="https://poly.google.com/view/' + getModelEmbedSrcLink(value) + '/embed" frameborder="0" style="border:none;" allowvr="yes" allow="vr; xr; accelerometer; magnetometer; gyroscope; autoplay;" allowfullscreen mozallowfullscreen="true" webkitallowfullscreen="true" onmousewheel="" ></iframe>'; 36 } else { 37 modelViewer.innerHTML = 'This adventurer does not yet have a model uploaded.'; 38 } 39} 40 41function getModelEmbedSrcLink(name) { 42 var modelSrcMap = new Map([ 43 ["Aeleen", "7S97pOzmItM"], 44 ["Alain", "7_y06y6IRpC"], 45 ["Althemia", "bmYXZQ0D9f4"], 46 ["Amane", "f5RfG6WVBxl"], 47 ["Aoi", "3HoJ6QE-VgW"], 48 ["Aurien", "2yJGsnRyR0u"], 49 ["Berserker", "7M73oLoFUwZ"], 50 ["Celliera", "7r7z3_L4GId"], 51 ["Cibella", "7XQBlkcRllk"], 52 ["Cleo", "e4BexuEPTPB"], 53 ["Edward", "4zmNXD4dBTz"], 54 ["Eleonora", "bV52jFo8bHm"], 55 ["Elisanne", "e7pE5cBZw_B"], 56 ["Erik", "fMigQCWUsWK"], 57 ["Estelle", "bHm8Y3IR45j"], 58 ["Euden", "exjY_boCLIN"], 59 ["Ezelith", "6SfuTwuTal7"], 60 ["Francesca", "7ux2vJHPGiK"], 61 ["Halloween Althemia", "cCFpMVG3BeB"], 62 ["Halloween Edward", "fYD7mFd4biX"], 63 ["Halloween Elisanne", "0IirnspqFI6"], 64 ["Hawk", "09awd_PsjI2"], 65 ["Hildegarde", "1pwHNesJQNA"], 66 ["Hope", "edUBHZ4zUfR"], 67 ["Irfan", "bFv1qEsmhZ_"], 68 ["Joe", "1yXlGZJIrn_"], 69 ["Johanna", "3LXvcGdIA2E"], 70 ["Julietta", "5WXBldkIIZY"], 71 ["Jurota", "6qHgF5akCO_"], 72 ["Karina", "6BIsXmrzghi"], 73 ["Karl", "3OwDyIPqTi3"], 74 ["Kleimann", "8FI6msO-kP7"], 75 ["Lily", "0M3C6RVA0t2"], 76 ["Linus", "1bxq5kdL3HN"], 77 ["Luca", "0ebNtFAjts3"], 78 ["Luther", "7_eUk_kdpYf"], 79 ["Malka", "96VmCs-aB9L"], 80 ["Malora", "6UKkDMDoQmf"], 81 ["Maribelle", "cUNyU2PsVxA"], 82 ["Melody", "b2rUTwhMEvU"], 83 ["Melsa", "4mHlunpoYEY"], 84 ["Mikoto", "4vypFqh1SIX"], 85 ["Musashi", "afFNVixzkFQ"], 86 ["Naveed", "2cyOWQoXvv2"], 87 ["Nefaria", "7lvVNNkpxLi"], 88 ["Nicolas", "4rSxlI6YByb"], 89 ["Orion", "9b5lrOrvxuh"], 90 ["Orsem", "fOmPWu8ZCfB"], 91 ["Philia", "6r0GOc7cmJ6"], 92 ["Raemond", "98tsYAS7-LZ"], 93 ["Ranzal", "eKezfap1Cii"], 94 ["Rawn", "0ThGaorcAFR"], 95 ["Renelle", "dH6FmEEa4r5"], 96 ["Rex", "6QMIx_jH3AU"], 97 ["Ricardt", "6NAzfsEz-gm"], 98 ["Rodrigo", "aFUN5Re8gqz"], 99 ["Ryozen", "3jkhfKJMDVh"], 100 ["Sinoa", "bYTzcYIleZA"], 101 ["Sophie", "cDoz7-YGjR8"], 102 ["Taro", "e43-yww_nCf"], 103 ["Thaniel", "0952KAihIjY"], 104 ["Vanessa", "b8JZ5eD5HzC"], 105 ["Verica", "5apkisxI2JM"], 106 ["Vice", "0v8NyfOUu-Z"], 107 ["Vida", "eg098L9dhW7"], 108 ["Waike", "esjc3FeCtHq"], 109 ["Xainfried", "duZ1FFZrTP0"], 110 ["Xander", "drrcXlCUwKS"], 111 ["Xania", "8HHMl_q5X81"], 112 ["Zace", "0fBxkjxaNuU"], 113 ["Zardin", "0oIunJmx4Z6"] 114 ]); 115 return modelSrcMap.get(name); 116}
参照
追記
html
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="utf-8"> 5 <title>iframe</title> 6 <style> 7 iframe { 8 display: none; 9 width: 500px; 10 height: 500px; 11 background: #ccc; 12 } 13 14 .iframe1 { 15 background: #ccc; 16 } 17 18 .iframe2 { 19 background: #f00; 20 } 21 22 .iframe3 { 23 background: #f0f; 24 } 25 26 .iframe4 { 27 background: #00f; 28 } 29 30 </style> 31</head> 32<body> 33 <select class="select" name="name"> 34 <option value="op1">iframe1</option> 35 <option value="op2">iframe2</option> 36 <option value="op3">iframe3</option> 37 <option value="op4">iframe4</option> 38 </select> 39 <button type="button" name="button" class="btn">button</button> 40 41 <iframe src="" class="iframe1"></iframe> 42 <iframe src="" class="iframe2"></iframe> 43 <iframe src="" class="iframe3"></iframe> 44 <iframe src="" class="iframe4"></iframe> 45 46 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 47 <script> 48 $(function() { 49 var value; 50 51 $('.btn').on('click', function() { 52 $('iframe').css({display:'none'}); 53 value = $("select[name='name']").val(); 54 55 switch (value) { 56 case "op1": 57 $('.iframe1').css({display:'block'}); 58 break; 59 case "op2": 60 $('.iframe2').css({display:'block'}); 61 break; 62 case "op3": 63 $('.iframe3').css({display:'block'}); 64 break; 65 case "op4": 66 $('.iframe4').css({display:'block'}); 67 break; 68 } 69 }); 70 71 }); 72 </script> 73</body> 74</html>
投稿2018/11/13 16:35
編集2018/11/14 17:43総合スコア955
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/13 17:10
2018/11/14 00:10
2018/11/14 14:01 編集
2018/11/14 14:06
2018/11/14 14:37
2018/11/14 14:47 編集
2018/11/14 17:41
2018/11/14 23:23