発生している問題
自分で作ったポートフォリオサイトをWebpackを使ってバンドルしていたのですがJavaScriptのファイルをバンドルしようとしたらTopページのスライドショーが機能しなくなりました。
Webpackにてcssのバンドル、sassのバンドル、img画像のバンドルと進めていたのですが最後にJavaScriptのファイルをバンドルたらスライドショーの機能だけエラーが出て動かなくなってしまいました。
発生している問題・エラーメッセージ
Uncaught ReferenceError: myChange is not defined at <anonymous>:1:1
該当のソースコード
Javascript
1myImage = new Array( 2 "../images/top-view1.jpg", 3 "../images/top-view2.jpg", 4 "../images/top-view3.jpg" 5); 6myNowCnt = -1; 7myflg = 0; 8function myChange() { 9 myNowCnt = (myNowCnt < myImage.length - 1) ? myNowCnt + 1 : 0; 10 myflg = (myflg == 0) ? 1 : 0; 11 if (myflg == 0) { 12 document.getElementById("idshow1").src = myImage[myNowCnt]; 13 document.getElementById("idshow1").className = "fadein"; 14 document.getElementById("idshow2").className = "fadeout"; 15 } else { 16 document.getElementById("idshow2").src = myImage[myNowCnt]; 17 document.getElementById("idshow1").className = "fadeout"; 18 document.getElementById("idshow2").className = "fadein"; 19 } 20 setTimeout("myChange()", 2500); 21} 22myChange();
HTML
1 <div class="top-view-img"> 2 <img style="position: absolute;" id="idshow1" class="fadeout" src="images/top-view1.jpg" 3 alt="top-viewの写真1"> 4 <img id="idshow2" class="fadein" src="images/top-view2.jpg" alt="top-viewの写真2"> 5 </div> 6
CSS
1.top-view-img { 2 img { 3 width: 100%; 4 height: 100vh; 5 } 6} 7 8.fadeout { 9 opacity: 0; 10 transition: 2s ease-in-out; 11} 12.fadein { 13 opacity: 1; 14 transition: 2s ease-in-out; 15}
試したこと
久しぶりにWebpackを使うので保険として元のデータを複製して挑戦しているのですが元のデータでは動いているのでコードに問題はないと考え、Webpackでバンドルする際にdistフォルダやsrcフォルダを作成したので画像のパスの記載を変える必要があると思い正しく記載したのですが変わらずエラーが出てしまいます。
###実現したいこと
JavaScriptのファイルをバンドルしてtop-viewのフェードイン・フェードアウトスライドショーを元のように動かせるようにしたい。
何かアドバイスあればお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/25 04:34 編集