Apple 電卓の JS 実装

Apple 電卓の JS 実装

この記事の例では、Appleの電卓を実装するためのJSの具体的なコードを参考までに共有しています。具体的な内容は次のとおりです。

<!DOCTYPE html>
<html>
 <ヘッド>
  <メタ文字セット="utf-8">
  <title>携帯電話</title>
  <スタイル タイプ="text/css">
   #電話{
    位置: 相対的;
    幅: 380ピクセル;
    高さ: 700ピクセル;
    ボックスの影: 1px 1px 10px #808080;
    マージン: 自動;
    境界線の半径: 30px;
   }
   
   .kj{
    位置: 絶対;
    幅: 8px;
    高さ: 60px;
    背景色: 黒;
    右: -8px;
    上:100ピクセル;
   }
   .yl{
    位置: 絶対;
    幅: 8px;
    高さ: 80px;
    背景色: 黒;
    左: -8px;
    上: 85px;
   }
   
   。トップ{
    幅: 120ピクセル;
    高さ: 50px;
    /* ボックスシャドウ: 1px 1px 10px #808080; */
    マージン: 自動;
   }
   
   .mkf{
    フロート: 左;
    幅: 100ピクセル;
    高さ: 10px;
    境界線の半径: 5px;
    背景色: 黒;
    右マージン: 10px;
    上マージン: 20px;
   }
   .sxj{
    フロート: 左;
    幅: 10px;
    高さ: 10px;
    境界線の半径: 5px;
    背景色: 黒;
    上マージン: 20px;
   }
   
   。画面{
    幅: 370px;
    高さ: 600px;
    背景色: 黒;
    マージン: 自動;
   }
   .結果番号{
    高さ: 120px;
    /* パディング上部: 30px; */
   }
   .sp{
    フロート: 右;
    色: 白;
    フォントサイズ: 50px;
    上マージン: 50px;
   }
   
   .nu​​m{
    高さ: 480ピクセル;
   }
   
   。鍵{
    幅: 82.5px;
    高さ: 82.5px;
    境界線の半径: 50px;
    背景色: #808080;
    フロート: 左;
    マージン: 5px;
    
    
    テキスト配置: 中央;
    行の高さ: 80px;
    フォントサイズ: 20px;
    色: 白;
   }
   。初め{
    背景色: #B0B0B0;
    色: 黒;
   }
   。2番{
    背景色: オレンジ;
   }
   
   。三番目{
    幅: 175ピクセル;
   }
   
   
   
   
   。家{
    幅: 45px;
    高さ: 45px;
    境界線の半径: 25px;
    背景色: #B0B0B0;
    マージン: 3px 自動 0px 自動;
    
   }
  </スタイル>
 </head>
 <本文>
  <div id="電話">
   <!--電源ボタン-->
   <div class="kj"></div>
   <!--ボリューム-->
   <div class="yl"></div>
   <!-- 電話機の上部 -->
   <div class="top">
    <!-- マイク -->
    <div class="mkf"></div>
    <!-- カメラ -->
    <div class="sxj"></div>
   </div>
   <!-- 画面 -->
   <div class="screen">
    <div class="結果番号">
     <span class="sp">0</span>
    </div>
    
    <div class="num">
     <div class="key first" onclick="clearCompute()">AC</div>
     <div class="key first" onclick="deleteLastNum()">←</div>
     <div class="key first">%</div>
     <div class="key second" onclick="fun('/')">/</div>
     <div class="キー キー番号" onclick="fun(7)">7</div>
     <div class="キー キー番号" onclick="fun(8)">8</div>
     <div class="キー キー番号" onclick="fun(9)">9</div>
     <div class="key second" onclick="fun('*')">*</div>
     <div class="キー キー番号" onclick="fun(4)">4</div>
     <div class="キー キー番号" onclick="fun(5)">5</div>
     <div class="キー キー番号" onclick="fun(6)">6</div>
     <div class="key second" onclick="fun('-')">-</div>
     <div class="キー キー番号" onclick="fun(1)">1</div>
     <div class="キー キー番号" onclick="fun(2)">2</div>
     <div class="キー キー番号" onclick="fun(3)">3</div>
     <div class="key second" onclick="fun('+')">+</div>
     <div class="key third keynum" onclick="fun(0)">0</div>
     <div class="key" onclick="fun('.')">.</div>
     <div class="key second" onclick="compute()">=</div>
    </div>
   </div>
   <!-- ホームボタン -->
   <div class="home">
    
   </div>
  </div>
  <script type="text/javascript">
   var span = document.querySelector(".sp");
   /**
    * @param {オブジェクト} 数値
    * 数字キーボードをクリックして、span タグ内の数字を置き換えます */
   関数fun(num){
    var 値 = span.innerText;
    値 == 0 の場合
     span.innerText = 数値;
    }それ以外{
     span.innerText = span.innerText.concat(num);
    }
   }
   /**
    * 計算結果 */
   関数compute(){
    var 値 = span.innerText;
    var 結果 = eval(値);
    span.innerText = 結果;
   }
   /**
    * 計算領域をクリアして0にリセットします
    */
   関数 clearCompute(){
    span.innerText="0";
   }
   /**
    * 計算エリアの最後の文字を削除します*/
   関数deleteLastNum(){
    var 値 = span.innerText;
    console.log(typeof(値))
    値 == 0 の場合    
    }
    それ以外{
     /**
      * 値は文字列です * zs123
      * バイト: テキストがコンピュータに保存されるとき、バイト単位で保存されます。エンコード セットは文字を特定のバイトに変換し、コンピュータに保存します。 * 文字: 人間が理解できる文字または中国語の文字。 * ab 中国語 aj
      * 
      * 文字列は文字の集合です。文字列は、この文字配列に対して関連する操作を実行できるように、多くの共通メソッドを提供します。*/
     if(値.長さ!=1){
     span.innerText = 値.substring(0,値.length-1)
     }それ以外{
      span.innerText="0";
     }
     
    }
   }
  </スクリプト>
 </本文>
</html>

効果画像:

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

以下もご興味があるかもしれません:
  • js 正確なカウントダウン機能の共有
  • ID番号を確認するための超正確なJavaScriptメソッド
  • js ドラッグ アンド ドロップ テーブルでコンテンツ計算を実現する
  • jsはシンプルな計算機を実装します
  • JavaScript シミュレーション計算機
  • シンプルな計算機機能を実現するJavaScript
  • JavaScript でテキストの行数を計算する方法
  • JavaScript の典型的なケースのシンプルな計算機
  • js 正確な計算

<<:  bashコマンドの使い方の詳細な説明

>>:  sed コマンドを使用して文字列を置換する Linux チュートリアル

推薦する

Nginx設定の原理と実装プロセスの詳細な説明https

Linuxユーティリティcertbotを使用してhttps証明書を生成するこのツールは Let&#...

スケジュールされた時間に古いジャンクファイルを自動的に削除する Linux 用の Autotrash ツール

Autotrash は、古い削除済みファイルを消去するプロセスを自動化するコマンド ライン プログラ...

HTML のオートコンプリートを無効にして履歴を表示しないようにする

入力ボックスには、コンテンツを入力するときに常に入力履歴が表示されます。これを無効にする現在の方法は...

Linux システムでログを手動でスクロールする方法

ログローテーションは、Linux システムでは非常に一般的な機能です。ログローテーションは、システム...

MySQL で datetime 型のデフォルト値を設定する方法

Navicat クライアントを通じてデフォルトの日時値を変更する際に問題が発生しました。データベース...

シンプルな画像ドラッグ効果を実現する js

この記事では、簡単な画像ドラッグ効果を実現するためのjsの具体的なコードを参考までに紹介します。具体...

CSS で適応型ディバイダーを巧みに実装する N 通りの方法

分割線はウェブページでよく使われるデザインです。例えば、Zhihuのその他の回答をご覧ください。 こ...

MySQL接続クエリの原理と応用

概要MySQL の最も強力な機能の 1 つは、データ取得を実行しながらテーブルを結合できることです。...

Nodejs でタイムドクローラーを実装する完全な例

目次事件の原因Node Scheduleを使用してスケジュールされたタスクを実装する1. node-...

MySql テーブル、データベース、シャーディング、パーティショニングの知識の詳細な説明

1. はじめにデータベース内のデータ量が一定レベルに達すると、システムパフォーマンスのボトルネックを...

MySQL LOAD_FILE() 関数メソッドの概要

MySQL では、LOAD_FILE() 関数はファイルを読み取り、その内容を文字列として返します。...

DockerはRedisを起動し、パスワードを設定します

RedisはRedisバージョン5のapline(Alps)イメージを使用します。これは小さくて高速...

CSS3 transition-delay属性のデフォルト値が単位なしの0であり無効である問題を解決します

今日は、CSS3 の transition-delay 属性のデフォルト値 0 に単位がないのは無効...

Reactでコンポーネントロジックを共有する3つの方法

簡単に説明すると、これら 3 つの方法は、レンダリング プロップ、高階コンポーネント、カスタム フッ...