実現したいこと
JavaScriptの「shuffle-text」を使用して
マウスオーバーしたらテキストがシャッフルされる動きを実装しています。
https://ics.media/entry/15498/
ttlと、copyで違う文字サイズをcssで指定して、
.shuffle-con-aにホバーさせた際に両方がシャッフルするような動きにしたいです。
発生している問題・分からないこと
https://teratail.com/questions/345848
↑
こちらの回答を参考に、(.shuffle-con-a)にマウスホバーした時に、
テキストがシャッフルする動きを作成していました。
(.shuffle-conは複数表示する予定)
ttlとcopyの両方を動くように指定したのですが片方しかシャッフルの動作が行われません。
該当のソースコード
HTML
1<div class="content"> 2 <a href="#" class="shuffle-con-a"> <img src="img.jpg" alt=""> 3 <div class="ttl">タイトル入るタイトルテキスト入ります。</div> 4 <div class="copy">テキスト入ります。ダミーですテキスト入ります。</div> 5 </a> 6</div>
js
1function init() { 2 var effectList = []; 3 var elementList = document.querySelectorAll('.ttl , .copy'); 4 var hoverTarget = document.getElementsByClassName("shuffle-con-a"); 5 6 for (let i = 0; i < elementList.length; i++) { 7 var element = elementList[i]; 8 element.dataset.index = i; 9 effectList[i] = new ShuffleText(element); 10 11 hoverTarget[i].addEventListener('mouseenter', function () { 12 effectList[i].start(); 13 }); 14 } 15}
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
両方動作するようにしてみたのですがうまくいきませんでした。
js
1function init() { 2 var effectList = []; 3 var elementList = document.querySelectorAll('.ttl , .copy'); 4 var hoverTarget = document.getElementsByClassName("hover"); 5 for (let i = 0; i < elementList.length; i++) { 6 var element = elementList[i]; 7 element.dataset.index = i; 8 if (element.classList.contains('ttl')) { 9 effectList[i] = new ShuffleText(element); 10 } else if (element.classList.contains('copy')) { 11 effectList[i] = new ShuffleText(element); 12 } 13 14 hoverTarget[i].addEventListener('mouseenter', function () { 15 effectList[i].start(); 16 }); 17 } 18}
補足
実際のコード部分です
html
1 <li class="item sort01"> 2 <div class="item-content"> <a href="#" class="shuffle-con-a"> <img src="img/img_sq01.jpg" alt=""> 3 <div class="mask"> 4 <div class="ttl">タイトル入るタイトルテキスト入ります。</div> 5 <div class="copy">テキスト入ります。ダミーですテキスト入ります。</div> 6 </div> 7 </a></div> 8 </li> 9 <li class="item sort02"> 10 <div class="item-content"> <a href="#" class="shuffle-con-a"> <img src="img/img_sq02.jpg" alt=""> 11 <div class="mask"> 12 <div class="ttl">タイトル入るタイトルテキスト入ります。</div> 13 <div class="copy">テキスト入ります。ダミーですテキスト入ります。</div> 14 </div> 15 </a></div> 16 </li>
回答1件
あなたの回答
tips
プレビュー