簡単な計算機を実装するためのコツを教えます
この記事では、JavaScript で簡単な電卓を実装する方法を詳しく紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。
JS は簡単な計算機を実装します
ページ レイアウト デザイン (HTML CSS)
前の理由によりblog html と css については詳しく説明されていますが、ここでも詳細には触れずにコードに直接進みます。 JQuery セレクターは js で使用されるため、JQuery は <script></script> タグを使用して HTML に導入されます。HTML では、電卓イベント cal() が各ボタンのクリックにバインドされ、現在のクリック オブジェクトは次のようになります。これを渡しました。
.html ファイル:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>简单计算器</title> <link rel="stylesheet" type="text/css" href="./style.css"> <!-- css样式 --> <script src="https://code.jquery.com/jquery-latest.min.js"></script> <!-- 引用JQuery库 --></head><body> <p> <table> <tr> <td colspan="3"><input type="text" value="0"/></td> </tr> <tr> <td><button id="c11" onclick="cal(this)">+</button></td> <td><button id="c12" onclick="cal(this)">-</button></td> <td><button id="c13" onclick="cal(this)">×</button></td> <td><button id="c14" onclick="cal(this)">/</button></td> </tr> <tr> <td><button id="c21" onclick="cal(this)" value="7">7</button></td> <td><button id="c22" onclick="cal(this)" value="8">8</button></td> <td><button id="c23" onclick="cal(this)" value="9">9</button></td> <td rowspan="2"><button id="c24" onclick="cal(this)">C</button></td> </tr> <tr> <td><button id="c31" onclick="cal(this)" value="4">4</button></td> <td><button id="c32" onclick="cal(this)" value="5">5</button></td> <td><button id="c33" onclick="cal(this)" value="6">6</button></td> </tr> <tr> <td><button id="c41" onclick="cal(this)" value="1">1</button></td> <td><button id="c42" onclick="cal(this)" value="2">2</button></td> <td><button id="c43" onclick="cal(this)" value="3">3</button></td> <td rowspan="2"><button id="c44" onclick="cal(this)">=</button></td> </tr> <tr> <td colspan="2"><button id="c51" onclick="cal(this)" value="0">0</button></td> <td><button id="c53" onclick="cal(this)">.</button></td> </tr> </table> </p> <script src = "./calculator.js"></script> <!-- js脚本 --></body></html>
.css ファイル:
input{ width: 200px; height:50px; margin-bottom: 10px; padding: 0; font:18px bold;}button{ width: 50px; height: 40px; margin-bottom: 10px; border: 1px dashed black; background-color: #ffc4cc;}#c24{ height: 93px;}#c44{ height: 93px;}#c51{ width: 122px;}#c44,#c24,#c14{ margin-left:10px;}
図のような静的ページ:
計算部分を実装します( JS)
1. 機能: 数値の簡単な加算、減算、乗除計算を実現し、画面をクリアする機能
2. 操作: 例: 123×29; 1 をクリックし、 2、3、、×記号をクリックし、2、9を順にクリックし、最後に=をクリックすると、結果3567
を計算できます。例を図に示します:
3. 欠点:
- 負の数値計算は実行できず、NaN エラーが発生します;
- 連続計算は実行できず、一度に 2 つの数値間の演算しか実行できません。 ; 以前の結果で計算を続けたい場合は、演算記号と次の数字を直接押すことができます; 新しい計算を開始するには、最初に画面をクリアする必要があります。
4. アイデア表示:
- テキストボックス表示: クリックされたボタンに応じてテキストボックスに表示される内容がリアルタイムに変化するため, 変更を簡単にするために、ここでは JQuery セレクターを使用してテキスト ボックスを選択し、それをグローバル変数 input に割り当てます。その後、入力の val() メソッドに従ってその値を変更するだけです。
コードは次のとおりです:
var input = $("input");
- ボタン ID の取得: 後で、さまざまなボタンに基づいてさまざまな操作を実行する必要があるため、 cal() 関数の最初のステップは、後の判断に使用されるボタンの ID を取得することです。
コードは次のとおりです:
let btn = e.id;
- 数値入力: ボタンの ID に基づいて、数値か小数点かを判断します。その場合は、数値入力操作を行ってください。まず、現在のテキスト ボックスの値が 0 かどうかを確認します。0 の場合は、入力値を現在の入力で上書きします。0 でない場合は、現在の入力を入力値の後ろに接続します。
コードは次のとおりです:
//若input的值为0 input.val(btn_value);//若input的值非0 input.val(input.val()+btn_value);
- 記号入力: ボタンの ID に基づいて算術記号かどうかを判断します。記号入力操作を行ってください。連続操作を考慮しない場合は、まず現在のテキスト ボックスの値に「入力値の後にシンボリック リンクが続く」が含まれているかどうかを確認します。
コードは次のとおりです:
//若input的值含有+、×、/ alert("连续运算功能未上线!")//若input的值不含有+、×、/ input.val(input.val()+当前运算符号);
- 数値計算: ボタンの ID に基づいて等号かどうかを判断します。したがって、数値計算操作を実行します。選択判定は、indexOf()メソッドで入力値にどの句読点、×、/が含まれているかを判定し、記号の位置を区切ってsubstring()メソッドで値をインターセプトします。シンボルの前で強制的に Float 型に変換してから num1 に代入し、シンボルの後ろの値をインターセプトして強制的に Float 型に変換してから num2 に代入して、対応する計算を実行します。 (除算中は分母を 0 にすることはできないことに注意してください。)
コードは次のとおりです。
if(input_value.indexOf("+")!==-1){ pos = input_value.indexOf("+"); num1 = parseFloat(input_value.substring(0,pos)); num2 = parseFloat(input_value.substring(pos+1,input_value.length)); input.val(num1+num2); } else if(input_value.indexOf("-")!==-1){ pos = input_value.indexOf("-"); num1 = parseFloat(input_value.substring(0,pos)); num2 = parseFloat(input_value.substring(pos+1,input_value.length)); input.val(num1-num2); } else if(input_value.indexOf("×")!==-1){ pos = input_value.indexOf("×"); num1 = parseFloat(input_value.substring(0,pos)); num2 = parseFloat(input_value.substring(pos+1,input_value.length)); input.val(num1*num2); } else if(input_value.indexOf("/")!==-1){ pos = input_value.indexOf("/"); num1 = parseFloat(input_value.substring(0,pos)); num2 = parseFloat(input_value.substring(pos+1,input_value.length)); if(num2-0 === 0){ alert("分母不能为0!"); } else{ input.val(num1/num2); } }
- Clear screen:ボタンの ID に応じてシンボル C が表示され、その場合は画面をクリアします。
コードは次のとおりです:
input.val(0);
5. JavaScript ファイルは次のとおりです:
"use strict"var input = $("input");function cal(e){ let btn = e.id; //清零 if( btn === "c24"){ input.val(0); } //数值输入 else if(btn === "c51"||btn === "c41"||btn === "c42"||btn === "c43" ||btn === "c31"||btn === "c32"||btn === "c33" ||btn === "c21"||btn === "c22"||btn === "c23"){ let btn_value = document.getElementById(btn).getAttribute("value"); if( input.val() === "0" ){ input.val(btn_value); } else{ input.val(input.val()+btn_value); } } else if(btn === "c11"){ let input_value = input.val(); if(input_value.indexOf("+") === -1&&input_value.indexOf("-") === -1 &&input_value.indexOf("×") === -1&&input_value.indexOf("/") === -1){ input.val(input.val()+"+"); } else{ alert("连续运算功能未上线!") } } else if(btn === "c12"){ let input_value = input.val(); if(input_value.indexOf("+") === -1&&input_value.indexOf("-") === -1 &&input_value.indexOf("×") === -1&&input_value.indexOf("/") === -1){ input.val(input.val()+"-"); } else{ alert("连续运算功能未上线!") } } else if(btn === "c13"){ let input_value = input.val(); if(input_value.indexOf("+") === -1&&input_value.indexOf("-") === -1 &&input_value.indexOf("×") === -1&&input_value.indexOf("/") === -1){ input.val(input.val()+"×"); } else{ alert("连续运算功能未上线!") } } else if(btn === "c14"){ let input_value = input.val(); if(input_value.indexOf("+") === -1&&input_value.indexOf("-") === -1 &&input_value.indexOf("×") === -1&&input_value.indexOf("/") === -1){ input.val(input.val()+"/"); } else{ alert("连续运算功能未上线!") } } else if(btn === "c53"){ input.val(input.val()+"."); } else if(btn === "c44"){ let pos,num1,num2; let input_value = input.val(); if(input_value.indexOf("+")!==-1){ pos = input_value.indexOf("+"); num1 = parseFloat(input_value.substring(0,pos)); num2 = parseFloat(input_value.substring(pos+1,input_value.length)); input.val(num1+num2); } else if(input_value.indexOf("-")!==-1){ pos = input_value.indexOf("-"); num1 = parseFloat(input_value.substring(0,pos)); num2 = parseFloat(input_value.substring(pos+1,input_value.length)); input.val(num1-num2); } else if(input_value.indexOf("×")!==-1){ pos = input_value.indexOf("×"); num1 = parseFloat(input_value.substring(0,pos)); num2 = parseFloat(input_value.substring(pos+1,input_value.length)); input.val(num1*num2); } else if(input_value.indexOf("/")!==-1){ pos = input_value.indexOf("/"); num1 = parseFloat(input_value.substring(0,pos)); num2 = parseFloat(input_value.substring(pos+1,input_value.length)); if(num2-0 === 0){ alert("分母不能为0!"); } else{ input.val(num1/num2); } } }}
[推奨学習: JavaScript 上級チュートリアル]
以上が簡単な計算機を実装するためのコツを教えますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 はじめに: 技術の継続的な発展により、音声認識技術は人工知能の分野の重要な部分になりました。 WebSocket と JavaScript をベースとしたオンライン音声認識システムは、低遅延、リアルタイム、クロスプラットフォームという特徴があり、広く使用されるソリューションとなっています。この記事では、WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法を紹介します。

WebSocketとJavaScript:リアルタイム監視システムを実現するためのキーテクノロジー はじめに: インターネット技術の急速な発展に伴い、リアルタイム監視システムは様々な分野で広く利用されています。リアルタイム監視を実現するための重要なテクノロジーの 1 つは、WebSocket と JavaScript の組み合わせです。この記事では、リアルタイム監視システムにおける WebSocket と JavaScript のアプリケーションを紹介し、コード例を示し、その実装原理を詳しく説明します。 1.WebSocketテクノロジー

WebSocket と JavaScript を使用してオンライン予約システムを実装する方法 今日のデジタル時代では、ますます多くの企業やサービスがオンライン予約機能を提供する必要があります。効率的かつリアルタイムのオンライン予約システムを実装することが重要です。この記事では、WebSocket と JavaScript を使用してオンライン予約システムを実装する方法と、具体的なコード例を紹介します。 1. WebSocket とは何ですか? WebSocket は、単一の TCP 接続における全二重方式です。

JavaScript と WebSocket を使用してリアルタイム オンライン注文システムを実装する方法の紹介: インターネットの普及とテクノロジーの進歩に伴い、ますます多くのレストランがオンライン注文サービスを提供し始めています。リアルタイムのオンライン注文システムを実装するには、JavaScript と WebSocket テクノロジを使用できます。 WebSocket は、TCP プロトコルをベースとした全二重通信プロトコルで、クライアントとサーバー間のリアルタイム双方向通信を実現します。リアルタイムオンラインオーダーシステムにおいて、ユーザーが料理を選択して注文するとき

JavaScript と WebSocket: 効率的なリアルタイム天気予報システムの構築 はじめに: 今日、天気予報の精度は日常生活と意思決定にとって非常に重要です。テクノロジーの発展に伴い、リアルタイムで気象データを取得することで、より正確で信頼性の高い天気予報を提供できるようになりました。この記事では、JavaScript と WebSocket テクノロジを使用して効率的なリアルタイム天気予報システムを構築する方法を学びます。この記事では、具体的なコード例を通じて実装プロセスを説明します。私たちは

JavaScript チュートリアル: HTTP ステータス コードを取得する方法、特定のコード例が必要です 序文: Web 開発では、サーバーとのデータ対話が頻繁に発生します。サーバーと通信するとき、多くの場合、返された HTTP ステータス コードを取得して操作が成功したかどうかを判断し、さまざまなステータス コードに基づいて対応する処理を実行する必要があります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法を説明し、いくつかの実用的なコード例を示します。 XMLHttpRequestの使用

効率的なフィボナッチ数列計算機: フィボナッチ数列の PHP 実装は、非常に古典的な数学の問題です。ルールは、各数値が前の 2 つの数値の合計に等しい、つまり F(n)=F(n -1)+F です。 (n-2)、ここで F(0)=0 および F(1)=1。フィボナッチ数列を計算する場合、再帰的に実装できますが、値が増加するにつれてパフォーマンスの問題が発生します。そこで、この記事ではPHPを使った効率的なフィボナッチの書き方を紹介します。

JavaScript で HTTP ステータス コードを取得する方法の紹介: フロントエンド開発では、バックエンド インターフェイスとの対話を処理する必要があることが多く、HTTP ステータス コードはその非常に重要な部分です。 HTTP ステータス コードを理解して取得すると、インターフェイスから返されたデータをより適切に処理できるようになります。この記事では、JavaScript を使用して HTTP ステータス コードを取得する方法と、具体的なコード例を紹介します。 1. HTTP ステータス コードとは何ですか? HTTP ステータス コードとは、ブラウザがサーバーへのリクエストを開始したときに、サービスが
