前提・実現したいこと
勉強の為にiPhoneの電卓に似せれるように作っています。
一通り作り終えて、「ボタンを押したら少し光るアニメーション」を作成したら、
電卓機能が働かなくなりました。
アニメーションを入れるまで電卓機能は問題なく使えていました。
何故なのか理由がわからないので、
教えていただきたいです。
プログラミングの勉強し初めて2ヶ月弱で初めて作っているコードで、
見づらいと思いますが、よろしくお願いします。
発生している問題・エラーメッセージ
アニメーションのコードを入れるとボタン入力がされなくなる。
該当のソースコード
HTML
1<div> 2 <input type="text" class="disply" id="disply" value= "0" max="999999999" min="-999999999"> 3 </div> 4 <div id="btn"> 5 <div id="first"> <!--%は未設定--> 6 <input type="button" value="AC" id="AC" class="number" onclick=AC()> 7 <input type="button" value="→" id="modori" class="number" onclick=modori()> 8 <input type="button" value="%" id="percent" class="number" onclick=percent()> 9 <input type="button" value="÷" id="waru" class="number" onclick=Mat(14)> 10 </div> 11 <div id="ue"> <!--7~9--> 12 <input type="button" value="7" id="num_7" class="number" onclick=clicBtn(value)> 13 <input type="button" value="8" id="num_8" class="number" onclick=clicBtn(value)> 14 <input type="button" value="9" id="num_9" class="number" onclick=clicBtn(value)> 15 <input type="button" value="×" id="kakeru" class="number" onclick=Mat(13)> 16 </div> 17 <div id="naka"> <!--4~6--> 18 <input type="button" value="4" id="num_4" class="number" onclick=clicBtn(value)> 19 <input type="button" value="5" id="num_5" class="number" onclick=clicBtn(value)> 20 <input type="button" value="6" id="num_6" class="number" onclick=clicBtn(value)> 21 <input type="button" value="−" id="hiku" class="number" onclick=Mat(12)> 22 </div> 23 <div id="sita"> <!--1~3--> 24 <input type="button" value="1" id="num_1" class="number" onclick=clicBtn(value)> 25 <input type="button" value="2" id="num_2" class="number" onclick=clicBtn(value)> 26 <input type="button" value="3" id="num_3" class="number" onclick=clicBtn(value)> 27 <input type="button" value="+" id="tasu" class="number" onclick=Mat(11) > 28 </div> 29 <div id="zero"> <!--0~00--> 30 <input type="button" value="0" id="num_0" class="number" onclick=clicBtn(value)> 31 <input type="button" value="00" id="num_00" class="number" onclick=clic00(value)> 32 <input type="button" value="." id="Decimal" class="number" onclick=clicBtn(value) > 33 <input type="button" value="=" id="result" class="number" onclick=result()> 34 </div>
CSS
1.fade{ /*押している時のみアニメーションが発動*/ 2 animation: fadein; 3 animation-duration:0.7s; 4 5} 6@keyframes fadein { 7 from { 8 opacity: 1; 9 background-color: rgb(214, 214, 214); 10 } 11 to { 12 opacity: 1; 13 } 14}
JavaScript
1 var dis = document.getElementById("disply") //表示中の値. 2 parseFloat(dis.value); 3 var a = 0; //一旦入れる前者の数値 4 var v = 0; //次の文字が入った時に入力が消える仕組み作り 5 var math //演算子の振り分け 6 7//押したボタンの数値を入れる 8function clicBtn(num){ 9 Rem(); //演算式が押されていないか確認 10 if(dis.value == 0){ 11 dis.value = "";} 12 dis.value += num; 13 maxmin(dis.value); //最大最小値を確認 14 } 15//押したら光るアニメーションの処理 16const btn = document.querySelectorAll('#btn input'); 17 for (var i = 0; i < btn.length; i++ ){ //全部のnumber要素に下記を付与 18 btn[i].onclick = function() { //押したらfadeinが付属 19 this.classList.add('fade'); 20 this.addEventListener('animationend', function() { 21 this.classList.remove('fade'); 22 } 23 )} 24 }
試したこと
補足情報(FW/ツールのバージョンなど)
回答1件
あなたの回答
tips
プレビュー