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 チュートリアル

推薦する

Windows Server 2016 に Oracle をインストールする方法

1. Oracle をインストールします。インターネット上には Oracle のインストール手順が多...

UbuntuからMySQLを削除して再インストールする方法

まずmysqlを削除します: sudo apt-get remove mysql-*残ったデータをク...

Docker で php-nginx-alpine イメージをゼロから構築する方法

これまでにも Docker 環境でいくつかのプロジェクトを実行したことはありますが、まだイメージをよ...

CSS トランジションを使用した円形ホバー効果のサンプルコード

この記事では ソースコードのオンラインプレビューとダウンロード今日のチュートリアルでは、円のホバー効...

JavaScript ステートメントの一般的な for ループの詳細な説明

JavaScript には、for、for in、for of、forEach ループなど、多くのル...

よく使われるnginxの書き換えルールの詳細な説明

この記事では、Web ページのリンクを美しくするためによく使用される書き換えルールをいくつか紹介しま...

jQueryはフォーム検証機能を実装します

jQuery フォーム検証の例 / ユーザー名、パスワード、住所、電子メールの検証を含む下記の通り ...

nginx のバージョン番号と WEB サーバー情報を隠すための解決策

Nginxはバージョン情報を隠すだけでなく、カスタムWebサーバー情報もサポートします。まずは最終的...

アカウントとパスワードを記憶する機能を実現するVueの考え方とプロセス

目次実装のアイデアアカウント パスワードを保存する方法は 3 つあります。機能インターフェースアカウ...

CSSは高度に適応したフルスクリーンを実現します

独自のデモを作成するときに、display:flex を使用して垂直方向の中央揃えを実現したいと思い...

HTML tbody の使用

構造化テーブル (IExplore のみ) 1) 行ごとにグループ化<thead> .....

html オプション 無効 選択 選択 無効 オプションの例

コードをコピーコードは次のとおりです。 <選択> <オプション値="&q...

JavaScriptの擬似配列と配列の使い方と違い

擬似配列と配列JavaScript では、5 つのプリミティブ データ型を除き、関数を含め、その他す...

JavaScript でじゃんけんゲームを書く

この記事では、JavaScriptでじゃんけんゲームを書くための具体的なコードを参考までに紹介します...

vue-seamless-scrollがスクロールしていいねをするときのデータ同期の問題を解決する

VUE は vue-seamless-scroll を使用して、自動的にスクロールしていいねします。...