前提・実現したいこと
JavaScriptでスライダーの実装をしています。
クリックごとにstyle.leftの値を変更したいのですが、反映されません。
お知恵を貸して頂けると嬉しいです。
ソースコード
js
1 const next = document.getElementById('js-next'); 2 const slide = document.getElementById('js-slide'); 3 4 function slideMove() { 5 slide.style.left -= 690 + 'px'; 6 console.log(slide.style); 7 } 8 9 next.addEventListener('click', () => { 10 slideMove(); 11 });
html
1<div class="slide"> 2 <div class="slide__show"> 3 <div id="js-slide" class="slide__inner"> 4 <a href="" class="slide__item">スライド</a> 5 <a href="" class="slide__item">スライド</a> 6 <a href="" class="slide__item">スライド</a> 7 </div> 8 <div id="js-prev" class="slide__btn--prev">前へ</div> 9 <div id="js-next" class="slide__btn--next">次へ</div> 10 </div> 11</div>
css
1.slide__show { 2 position: relative; 3 width: 690px; 4 margin: 0 auto; 5 height: 540px; 6 } 7.slide__inner { 8 position: absolute; 9 top: 0; 10 left: -690px; 11 display: flex; 12 flex-wrap: nowrap; 13 }
発生している問題・エラーメッセージ
-
エラーメッセージは特になし。
-
consoleでstyleを見ると
CSSStyleDeclaration
オブジェクトが返ってくるが、leftは空になっている。(他にcssの方で適用したスタイルも全て空)
IDで取得するのとclass名で取得するのでは違うのかな…?と要素の取得方法を変えてみたりしましたが、変わらず…
何か不足している情報などあれば追記させていただきます。
宜しくお願いいたしますm(_ _)m
回答2件
あなたの回答
tips
プレビュー