slider-proをjsの連想配列で出力するコードでキーがかぶっても上書きされないようにしたく、連想配列からオブジェクトに変更したいのですが、自分で変更すると「 [object Object]」とエラーが出てしまい、うまく行えず。
レクチャーいただけますと幸いです。
<section> <h2 class="tit-basic01">hoge</h2> <div class="slider-pro slider-clinic"> <div class="sp-slides"></div> <div class="sp-thumbnails"></div> </div> <script> (()=>{ var clinicGallery = { 'hoge1': 'hoge_gallery01.jpg', 'hoge2': 'hoge_gallery02.jpg', }; let slides = document.querySelector('.sp-slides'); let thumbs = document.querySelector('.sp-thumbnails'); const createElement = (elm,attr) =>{ let e = document.createElement(elm); for(var k in attr) e.setAttribute(k,attr[k]); return e; } const addItem = key => { let value = clinicGallery[key]; let wrp = createElement('div',{ class: 'sp-slide' }); let img = createElement('img',{ src: 'images/'+value, alt: key, class: 'sp-image' }); let cap = createElement('p',{ class: 'sp-layer sp-black sp-white sp-padding', 'data-position': 'bottomLeft', 'data-vertical': 0, 'data-width': '100%', 'data-show-transition': 'up' }); let tmb = createElement('img',{ src: 'images/'+value, alt: key, class: 'sp-thumbnail' }); wrp.appendChild(img); wrp.appendChild(cap); cap.textContent = key; slides.appendChild(wrp); thumbs.appendChild(tmb); }; for(let k in clinicGallery) addItem(k); })(); </script> </section>
以下のようにしたい
var clinicGallery = [ {key: 'hoge1', value: 'hoge_gallery01'}, {key: 'hoge2', value: 'hoge_gallery02'}, ];
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/12/05 03:37