前提・実現したいこと
(例) JavaScriptで電卓のシステムを作っています。
以下のサイトを参考にして作りました。
https://webukatu.com/wordpress/blog/27277/
この時に、「×」と「÷」のボタンを押すと、「*」、「/」になってしまいます。
この表示を「×」、「÷」にしたいですが、どこを変えればいいのかわかりません。
[訂正]
(また、「C」ボタンもわかりやすくするため、色を変えたいです。)
解決しました。
発生している問題
・×と÷の正しい表示ができない
該当のソースコード
HTML
1<meta charset="utf-8"> 2 3 4 5 6 <form name="dentaku"> 7 <table> 8 <!-- 液晶画面部分 --> 9 <tbody><tr> 10 <td colspan="4"> 11 <input type="text" class="display" name="display" value="" disabled=""> 12 </td> 13 </tr> 14 15 <!-- 上から1段目(7~9+÷) --> 16 <tr> 17 <td><input type="button" value="7" onclick="get_calc(this)"></td> 18 <td><input type="button" value="8" onclick="get_calc(this)"></td> 19 <td><input type="button" value="9" onclick="get_calc(this)"></td> 20 <td><input type="button" value="÷" class="operator" name="div_btn" onclick="get_calc(this)"></td> 21 </tr> 22 23 <!-- 上から2段目(4~6+×) --> 24 <tr> 25 <td><input type="button" value="4" onclick="get_calc(this)"></td> 26 <td><input type="button" value="5" onclick="get_calc(this)"></td> 27 <td><input type="button" value="6" onclick="get_calc(this)"></td> 28 <td><input type="button" value="×" class="operator" name="multi_btn" onclick="get_calc(this)"></td> 29 </tr> 30 31 <!-- 上から3段目(1~3+-) --> 32 <tr> 33 <td><input type="button" value="1" onclick="get_calc(this)"></td> 34 <td><input type="button" value="2" onclick="get_calc(this)"></td> 35 <td><input type="button" value="3" onclick="get_calc(this)"></td> 36 <td><input type="button" value="-" class="operator" onclick="get_calc(this)"></td> 37 </tr> 38 39 <!-- 上から4段目(0/C/=/+) --> 40 <tr> 41 <td><input type="button" value="0" onclick="get_calc(this)"></td> 42 <td><input type="button" value="C" onclick="get_calc(this)"></td> 43 <td><input type="button" value="=" class="equal" onclick="get_calc(this)"></td> 44 <td><input type="button" value="+" class="operator" onclick="get_calc(this)"></td> 45 </tr> 46 47 </tbody></table> 48 </form>
CSS
1 /* テーブルの装飾 */ 2 table { 3 /* 電卓のサイズ */ 4 width: 300px; 5 height: 400px; 6 /* 電卓が浮き出るように影を付ける */ 7 border: solid 1px #dcdcdca4; 8 border-right: solid 4px #dcdcdca4; 9 border-bottom: solid 4px #dcdcdca4; 10 border-radius: 10px; 11 /* インライン要素を中央に配置 */ 12 text-align: center; 13 /* 余白調整 */ 14 padding: 8px; 15 margin: 20px; 16 } 17 18 input { 19 /* ボタンのサイズ */ 20 width: 70px; 21 height: 70px; 22 /* ボタンの文字サイズ */ 23 font-size: x-large; 24 /* 数字部分の背景色 */ 25 background-color: #dcdcdca4; 26 /* ボタンの詳細設定 */ 27 border: none; 28 border-radius: 20px; 29 /* クリック時の黒枠を消す */ 30 outline: none; 31 } 32 33 /* ディスプレイの詳細設定 */ 34 .display { 35 width: 250px; 36 text-align: right; /* 文字を右詰めに */ 37 /* 見た目の詳細設定 */ 38 background: #ffffff; 39 border-top: solid #dcdcdca4 5px; 40 border-bottom: solid #dcdcdca4 5px; 41 border-right: solid #b6b6b6 6px; 42 border-left: solid #b6b6b6 6px; 43 border-radius: 5px; 44 } 45 /* 演算子の背景色を上書きで設定 */ 46 .operator { 47 background-color: #87cefa; 48 } 49 /* 記号=の部分の背景色を上書きで設定 */ 50 .equal { 51 background-color: #b6b6b6; 52 } 53 54 /* カーソルを上に乗せた時に色を濃くする */ 55 input:hover { 56 background: #747373b9; 57 } 58 .display:hover { 59 background: #ffffff; /* ディスプレイ部分は無効化 */ 60 } 61 .operator:hover { 62 background: #339cdd; 63 } 64 65 /* クリック時に色を濃くする */ 66 input:active { 67 background: #5a5a5a; 68 } 69 .operator:active { 70 background: #2c80b4; 71 }
javascript
1<script> 2 function get_calc(btn) { 3 if(btn.value == "=") { 4 document.dentaku.display.value = eval(document.dentaku.display.value); 5 } else if (btn.value == "C") { 6 document.dentaku.display.value = ""; 7 } else { 8 if (btn.value == "×") { 9 btn.value = "*"; 10 } else if (btn.value == "÷") { 11 btn.value = "/"; 12 } 13 document.dentaku.display.value += btn.value; 14 document.dentaku.multi_btn.value = "×"; 15 document.dentaku.div_btn.value = "÷"; 16 } 17 } 18 </script>
試したこと
Javascriptの一部の文の改正を行いました。
JavaScript
1 if (btn.value == "×") { 2 btn.value = "*"; 3 } else if (btn.value == "÷") { 4 btn.value = "/"; 5 }
補足情報(FW/ツールのバージョンなど)
ホームページ作成ツール「まめわざ」を使用しています。
現在の作成状況(実態)
https://asa-kyo.1web.jp/30509/calculator.html
回答3件
あなたの回答
tips
プレビュー