WeChatアプレットで計算機機能を実装する

WeChatアプレットで計算機機能を実装する

この記事は、WeChat アプレットを使用して作成された簡単な計算機です。興味のある方はご覧ください。

ページセクション

<ビュークラス='ボックス'>
     <view class='txt'>{{screenNum}}</view> 
    <view capture-bind:touchstart="compute">
     <表示>
       <button data-val='clear' class='boxtn btn1'>AC</button>
       <button data-val='back' class='boxtn btn1'>←</button>
       <button data-val='#' class='boxtn btn1'>#</button>
       <button data-val='/' class='boxtn btn'>/</button>
     </ビュー>
       <表示>
       <button data-val='7' class='boxtn'>7</button>
       <button data-val='8' class='boxtn'>8</button>
       <button data-val='9' class='boxtn'>9</button>
       <button data-val='*' class='boxtn btn'>*</button>
     </ビュー>
       <表示>
       <button data-val='4' class='boxtn'>4</button>
       <button data-val='5' class='boxtn'>5</button>
       <button data-val='6' class='boxtn'>6</button>
       <button data-val='-' class='boxtn btn'>-</button>
     </ビュー>
       <表示>
       <button data-val='1' class='boxtn'>1</button>
       <button data-val='2' class='boxtn'>2</button>
       <button data-val='3' class='boxtn'>3</button>
       <button data-val='+' class='boxtn btn'>+</button>
     </ビュー>
       <表示>
       <button data-val='1' class='boxtn btn2'>0</button>
       <button data-val='.' class='boxtn'>.</button>
       <button data-val='=' class='boxtn btn'>=</button>
     </ビュー>
    </ビュー>
</ビュー>

スタイルセクション

。箱{
  幅:100%;
  高さ: 700ピクセル;
  背景: #000;
}
。TXT{
  色: #fff;
  幅: 100%;
  高さ:120px;
  フォントサイズ: 50px;
  テキスト配置: 右;
}
.boxtn{
  幅: 90ピクセル;
  高さ:90px;
  表示:ブロック;
  フロート:左;
  境界線の半径: 50%;
  行の高さ: 90px;
  テキスト配置: 中央;
  左マージン: 3px;
  上マージン: 5px;
  色:#fff;
  背景: #333333;
  フォントの太さ: 太字;
  フォントサイズ: 25px;
}
.btn{
  背景: #f09a37;
}
.btn1{
  背景: #a5a5a5;
  色:#000;
}
.btn2{
  幅: 180ピクセル;
  境界線の半径: 40px;
}

js部分

//index.js
//アプリケーションインスタンスを取得する const app = getApp()

ページ({

  /**
   * ページの初期データ */
  データ: {
    screenNum: 0, //画面に表示される数値 currentNum: '', //現在の入力数値 storage: 0, //保存されている数値 operator: '', //演算子 off: false,
  },

  計算: 関数 (e) {
    var btn_num = e.target.dataset.val;
    var obj = this;
    if (!isNaN(btn_num)) {
      obj.data.off == trueの場合{
        obj.data.currentNum = ''
        obj.data.off = false;
      }
      obj.data.currentNum += btn_num
      obj.data.currentNum = 数値(obj.data.currentNum);
      obj.data.currentNum = obj.data.currentNum.toString();
    } それ以外 {
      スイッチ (btn_num) {
        ケース '+':
        場合 '-':
        場合 '*':
        場合 '/':
        '='の場合:
          // 画面上の現在の数値と演算子を変数に格納します。if (obj.data.storage == 0) {
            obj.data.storage = obj.data.currentNum;
            obj.data.operator = btn_num;
          } それ以外 {
            obj.data.off が true の場合 {
              (obj.data.operator == '+')の場合{
                obj.data.currentNum = 数値(obj.data.storage) + 数値(obj.data.currentNum)
              } そうでない場合 (obj.data.operator == '-') {
                obj.data.currentNum = 数値(obj.data.storage) - 数値(obj.data.currentNum)
              } そうでない場合 (obj.data.operator == '*') {
                obj.data.currentNum = 数値(obj.data.storage) * 数値(obj.data.currentNum)
              } そうでない場合 (obj.data.operator == '/') {
                obj.data.currentNum = 数値(obj.data.storage) / 数値(obj.data.currentNum)
              }
            }
            obj.data.storage = obj.data.currentNum;
            obj.data.operator = btn_num;
          }

          obj.data.off = true;
          壊す;
        ケース 'クリア':
          obj.data.storage = 0;
          obj.data.currentNum = '0';
          obj.data.operator = '';
          壊す;
        ケース「戻る」:
          obj.data.currentNum = obj.data.currentNum.slice(0, -1);
          obj.data.currentNum == ''の場合{
            obj.data.currentNum = '0';
          }
          壊す;
        場合 '。':
          if (obj.data.currentNum.indexOf('.') == -1) { // "." が含まれているかどうかを確認します
            obj.data.currentNum += btn_num
          }
          壊す;
      }
    }
    obj.setData({
      画面番号: obj.data.currentNum
    })
  },

})

効果図は以下のとおりです

WeChat 開発者ツールのダウンロードアドレス

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

以下もご興味があるかもしれません:
  • WeChatアプレットはシンプルな計算機を実装する
  • WeChatアプレットがシンプルな計算機機能を実装
  • WeChatアプレットが計算機機能を実装
  • WeChat アプレット計算機の例
  • WeChatアプレットが計算機機能を実装
  • WeChatアプレットがシンプルな計算機機能を実装
  • WeChatアプレットはシンプルな計算機を実装する
  • WeChat アプレットのシンプルな計算機の実装コード例
  • WeChat アプレット計算機の例

<<:  この SQL 書き込み方法では本当にインデックスが失敗するのでしょうか?

>>:  Tomcat 実行時の JVM エンコーディングの問題を修正

推薦する

Dockerを使用してMQTTサーバーを構築するプロセスの詳細な説明

1. イメージをプルするdocker pull registry.cn-hangzhou.aliyu...

IE のテキストモード! DOCTYPE の役割の紹介

前の記事で説明したフォームの自動入力の問題を解決した後、新しい問題が発生しました。ページの一部のスタ...

データベースSQL文の最適化

最適化する理由:実際のプロジェクトが開始され、データベースが一定期間稼働した後、初期のデータベース設...

Ubuntu 18.04 が VMware 仮想マシンでネットワークに接続できない問題の解決策

仮想マシン内のUbuntu 18.04がネットワークに接続できない問題の解決策は次のとおりですVMw...

CSSの固定位置属性の詳細な説明

モバイル アプリを開発する場合、Web サイトが特定の高さまでスクロールしたときにコンテンツの一部を...

ZFS とは何か? ZFS を使用する理由とその機能

ZFSの歴史Z ファイル システム (ZFS) は、2001 年に Matthew Ahrens と...

React の 10 個のフックの紹介

目次ReactHook とは何ですか? Reactは現在フックを提供している1. 使用状態2.use...

Vue プロジェクトで TypeScript クラスを適用する方法

目次1. はじめに2. 使用1. @コンポーネント2. 計算、データ、方法3. @props 4. ...

MySQLの7種類のログの概要

MySQL には次のログ ファイルがあります。 1: 再実行ログ2: ロールバックログ(元に戻すログ...

MySQLデータ遅延ジャンプの問題の解決策

今日は、データベース遅延ジャンプに関する別の典型的な問題を分析しました。このプロセスでは、参考のため...

MySQL 圧縮版 zip のインストールに関する問題の解決策

本日、MySQLの圧縮版をインストールする際に問題が発生しました。サービスが起動できず、2、3時間苦...

MySQL で 2 つのセットの交差/差/和を取得する方法

MySQL の一般的なシナリオ: 2 つのデータ セットの交差と差を取得するステップ1. 2つのコレ...

Web デザインでフラッシュ オーバーレイ ポップアップ レイヤーの z-index プロパティを設定しても機能しない

デフォルトでは、Flash は常にページのトップレベルに表示されます。つまり、ページに DHTML ...

CSSカスタムプロパティの予備的な理解

現在、CSS プリプロセッサは Web 開発の標準となっています。 プリプロセッサの主な利点の 1 ...

VMWare14.0.0のUbuntu仮想マシンで共有フォルダを設定する

これは私の最初のブログ投稿です。時間の制約があるため、どのようにフォーマットすればよいかわかりません...