シンプルな計算機を実装する JavaScript コード

シンプルな計算機を実装する JavaScript コード

この記事では、参考までに、簡単な計算機を実装するためのJavaScriptの具体的なコードを紹介します。具体的な内容は次のとおりです。

数時間かけて編集し、シンプルでわかりやすい計算機を開発しました。バグを修正し続け、ついに修正できました。

これがスタイルだ

これはCSSの部分です

<スタイル>
  #箱 {
   背景画像: 線形グラデーション(120度, #84fab0 0%, #8fd3f4 100%);
   幅: 500ピクセル;
   高さ: 420px;
   マージン: 自動;
   上マージン: 200px;
   位置: 相対的;
  }

  .reckon {
   幅: 280ピクセル;
   高さ: 200px;
   背景画像: 線形グラデーション(120度, #d4fc79 0%, #96e6a1 100%);
   ;
   位置: 絶対;
   上: 100px;
   左: 100px;
   境界線: 5px 実線 #2a2b2c
  }

  #入力1 {
   背景画像: linear-gradient(上へ、#cfd9df 0%、#e2ebf0 100%);
   境界線: なし;
   幅: 220ピクセル;
   高さ: 8px;
   フロート: 右;
   上マージン: 10px;
   右マージン: 20px;
   アウトライン: なし;
   パディング: 10px
  }

  ul li {
   フロート: 左;
   リストスタイル: なし;
   マージン: 4px 2px;
   境界線の半径: 3px;
   背景画像: 線形グラデーション(120度, #a1c4fd 0%, #c2e9fb 100%);
   ボックスシャドウ: 2px 2px #ccc;
   色: #fff;
   font-weight: "楷体";
   幅: 50px;
   高さ: 30px;
   テキスト配置: 中央;
   行の高さ: 30px;
  }

  ul {
   上マージン: 5px;
  }

  ul li:hover {
   不透明度: 0.7;
  }
</スタイル>

これはHTML部分です

<div id="ボックス">
  <div class="reckon" id="reckon">
   <入力タイプ="テキスト" id="入力1">
   <ul>
    <li class="num">7</li>
    <li class="num">8</li>
    <li class="num">9</li>
    <li class="opcr">+</li>

    <li class="num">4</li>
    <li class="num">5</li>
    <li class="num">6</li>
    <li class="opcr">- </li>

    <li class="num">1</li>
    <li class="num">2</li>
    <li class="num">3</li>
    <li class="opcr">*</li>

    <li class="num">0</li>
    <li id="returnZero">C</li>
    <li id="resule">=</li>
    <li class="opcr">/</li>
   </ul>
  </div>


 </div>
/* シンボルと最初の値を格納するための 2 つのラベルを定義します */
 <input type="text" id="text1" style="display:none">
 <input type="text" id="per" style="display:none">

HTML 部分では、すべての数値をクラス名として定義し、すべての演算子をクラスとして定義し、演算子を格納するための 2 つの入力を定義します。

<スクリプト>
  lis = document.querySelectorAll("#box ul .num")//すべての数字を取得 opcr = document.querySelectorAll("#box ul .opcr")//演算子を取得 for (var i = 0; i < lis.length; i++) { //すべての数字を走査 lis[i].onclick = function () {
    input1.value += parseInt(this.innerHTML) //input1をクリックして表示します}
  }
  //すべての演算子を走査します for (let i = 0; i < opcr.length; i++) {
   opcr[i].onclick = 関数 () {
    if (text1.value == ""){//最初の値が空の場合 text1.value = input1.value//最初の値を保存します input1.value = "" //入力ボックスの値は空です per.value = this.innerHTML; //シンボルの値は空です } else {
     text1.value = eval(text1.value + per.value + input1.value) // 空でない場合の計算 per.value = this.innerHTML; // クリックされた値としてシンボル値を保存します input1.value = "" // 入力ボックスの値は空です}
   }
  }
  //resule.onclick = function () {に等しい
   input1.value = eval(text1.value + per.value + input1.value) // 内部の値を計算します per.value = "" // per に格納されている値をクリアします text1.value = "" // 入力ボックス内の値は空です}
  //クリックするとすべてクリアされます returnZero.onclick = function () {
   入力1.値 = ""
   パー値 = ""
   テキスト1.値 = ""
  }
</スクリプト>

セクションを完了

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
 <メタ文字セット="UTF-8">
 <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
 <meta http-equiv="X-UA-compatible" content="ie=edge">
 <title>シンプルな電卓</title>
 <スタイル>
  #箱 {
   背景画像: 線形グラデーション(120度, #84fab0 0%, #8fd3f4 100%);
   幅: 500ピクセル;
   高さ: 420px;
   マージン: 自動;
   上マージン: 200px;
   位置: 相対的;
  }

  .reckon {
   幅: 280ピクセル;
   高さ: 200px;
   背景画像: 線形グラデーション(120度, #d4fc79 0%, #96e6a1 100%);
   ;
   位置: 絶対;
   上: 100px;
   左: 100px;
   境界線: 5px 実線 #2a2b2c
  }

  #入力1 {
   背景画像: linear-gradient(上へ、#cfd9df 0%、#e2ebf0 100%);
   境界線: なし;
   幅: 220ピクセル;
   高さ: 8px;
   フロート: 右;
   上マージン: 10px;
   右マージン: 20px;
   アウトライン: なし;
   パディング: 10px
  }

  ul li {
   フロート: 左;
   リストスタイル: なし;
   マージン: 4px 2px;
   境界線の半径: 3px;
   背景画像: 線形グラデーション(120度, #a1c4fd 0%, #c2e9fb 100%);
   ボックスシャドウ: 2px 2px #ccc;
   色: #fff;
   font-weight: "楷体";
   幅: 50px;
   高さ: 30px;
   テキスト配置: 中央;
   行の高さ: 30px;
  }

  ul {
   上マージン: 5px;
  }

  ul li:hover {
   不透明度: 0.7;
  }
 </スタイル>
</head>

<本文>
 <div id="ボックス">
  <div class="reckon" id="reckon">
   <入力タイプ="テキスト" id="入力1">
   <ul>
    <li class="num">7</li>
    <li class="num">8</li>
    <li class="num">9</li>
    <li class="opcr">+</li>

    <li class="num">4</li>
    <li class="num">5</li>
    <li class="num">6</li>
    <li class="opcr">- </li>

    <li class="num">1</li>
    <li class="num">2</li>
    <li class="num">3</li>
    <li class="opcr">*</li>

    <li class="num">0</li>
    <li id="returnZero">C</li>
    <li id="resule">=</li>
    <li class="opcr">/</li>
   </ul>
  </div>


 </div>

 <input type="text" id="text1" style="display:block">
 <input type="text" id="per" style="display:block">

 <スクリプト>
  lis = document.querySelectorAll("#box ul .num")//すべての数字を取得 opcr = document.querySelectorAll("#box ul .opcr")//+——*/を取得
  for (var i = 0; i < lis.length; i++) { //すべての数字を走査 lis[i].onclick = function () {
    input1.value += parseInt(this.innerHTML) //input1をクリックして表示します}
  }

  // すべての +——* を走査します/
  (i = 0 とします; i < opcr.length; i++) {
   opcr[i].onclick = 関数 () {
    if (text1.value == ""){//最初の値が空の場合 text1.value = input1.value//最初の値を保存します input1.value = "" //入力ボックスの値は空です per.value = this.innerHTML; //シンボルの値は空です } else {
     text1.value = eval(text1.value + per.value + input1.value) // 空でない場合の値を計算します per.value = this.innerHTML; // シンボルの値はクリックされた値です input1.value = "" // 入力ボックスの値は空です}
   }
  }
  //resule.onclick = function () {に等しい
   input1.value = eval(text1.value + per.value + input1.value) // 内部の値を計算します per.value = "" // per に格納されている値をクリアします text1.value = "" // 入力ボックス内の値は空です}
  //クリックするとすべてクリアされます returnZero.onclick = function () {
   入力1.値 = ""
   パー値 = ""
   テキスト1.値 = ""
  }
 </スクリプト>
</本文>
</html>

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • 豊富なコンテンツと実用的なメソッドを備えた、JavaScript で書かれたシンプルな計算機です。おすすめ
  • 電卓操作を実現するシンプルなjsコード
  • jsはシンプルな計算機を実装します
  • HTML+JS は、シンプルな計算機コード (加算、減算、乗算、除算) を実装します。
  • JS で書かれたシンプルな計算機実装コード
  • javascript の簡単な計算機の実装手順の分解 (画像付き)
  • 計算機機能を実装するための純粋な JavaScript コード (3 つの方法)
  • jsはシンプルな計算機を実装します
  • ウェブ計算機 JS計算機
  • jsウェブ計算機のシンプルな実装

<<:  MySql でリモート接続を許可する方法

>>:  CentOS7でルートパスワードをリセットする方法

推薦する

HTML のスクロールバーについて/スクロールバーの削除

1. xhtmlの下のスクロールバーの色元の HTML では、ページ全体のスクロール バーを次のよう...

フロントエンドAIカットのコツ(体験談)

AI 画像の切り取りは PS と連携する必要があります。まず、スライスするレイヤーを選択し、それを...

CSS でフッターの「下部吸収」効果を実現

よく遭遇する問題: 下部の要素を「下部に貼り付ける」効果を CSS でどのように実現するか。この記事...

React コンポーネント通信ルーティングパラメータ転送 (react-router-dom)

目次最近Reactを勉強していて、今は仕事でVueを使っています。学習の過程で、両者を比較して理解を...

非常に実用的なTomcat起動スクリプトの実装方法

序文セキュリティ上の理由から、会社が Linux サーバーへのすべてのログインにセキュリティ制限を課...

js を使用して画像をモザイク化する方法の例

この記事では、主に js を使用して画像をモザイク化する方法の例を紹介し、次のように共有します。効果...

Win7 システムでの MySQL 5.7.11 の詳細なインストール チュートリアル

オペレーティング システム: Win7 64 ビット Ultimate Edition MySQL ...

iframeを使用してページを呼び出すとページがキャッシュされるかどうかの簡単な分析

最近、毎日変更されるページを iframe を使用して呼び出す必要があるプロジェクトがあります。その...

MySQL 8.0.19 インストールチュートリアル

公式サイトからインストールパッケージをダウンロードします: mysql-8.0.19-linux-g...

MySQL InnoDB ロック メカニズムの詳細な例

1. InnoDBのロック機構InnoDB ストレージ エンジンは、行レベルのロックとトランザクショ...

Spark と Scala を使用して Apache アクセス ログを分析する方法

インストールまず、Java と Scala をインストールし、次に Spark をダウンロードしてイ...

Centos7.4 システムに yum ソースから mysql 5.6 をインストールする

システム環境: centos7.4 1. データベースがインストールされているかどうかを確認します。...

Linuxでスワップパーティションファイルを作成する方法

スワップの紹介Linux のスワップ (スワップ パーティション) は、Windows の仮想メモリ...

Linux での MySQL のアンインストールとインストールのグラフィック チュートリアル

ブログを書くのは初めてです。開発に携わって2年になります。仕事の後に何か有意義なことを見つけたいと思...

uniappがインターフェースドメイン名を動的に取得する方法を分析する

背景インターフェイス ドメイン名はハードコードされておらず、動的に取得されます。具体的な実装は、静的...