欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

微信小程序怎么實(shí)現(xiàn)計(jì)算器小功能

這篇文章主要介紹“微信小程序怎么實(shí)現(xiàn)計(jì)算器小功能”的相關(guān)知識,小編通過實(shí)際案例向大家展示操作過程,操作方法簡單快捷,實(shí)用性強(qiáng),希望這篇“微信小程序怎么實(shí)現(xiàn)計(jì)算器小功能”文章能幫助大家解決問題。

十載的瀘溪網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)整合營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整瀘溪建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)公司從事“瀘溪網(wǎng)站設(shè)計(jì)”,“瀘溪網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

效果圖:

微信小程序怎么實(shí)現(xiàn)計(jì)算器小功能

微信小程序怎么實(shí)現(xiàn)計(jì)算器小功能

代碼附上:

app.json

 {
  "pages":[
    "pages/index/index",
    "pages/logs/logs"
  ],
  "window":
  {
  "navigationBarBackgroundColor": "#000000",
  "navigationBarTextStyle": "white", 
  "navigationBarTitleText": "智能計(jì)算器"
  },
 "tabBar": {   //補(bǔ)充說一下,我這個(gè)tabBar是用來設(shè)置底部tab的
   "color":"#ff69b4",
   "selectedColor":"#0000ff",
   "backgroundColor":"#ffff00",
  "list": [
    {
      "pagePath": "pages/index/index",
      "text": "計(jì) 算 機(jī)"
    },
    {
      "pagePath": "pages/logs/logs",
      "text": "日志"
    },
    {
      "pagePath":"pages/logs/logs",
      "text":"回家"
    }
  ]
}
}

/*app.wxss/*

.container {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 200rpx 0;
  box-sizing: border-box;
}

**其中一些組件不認(rèn)識的話, 建議到微信小程序官網(wǎng)多看幾遍

index.wxml:

<template name="calculator-key">
  <button hover-start-time="{{5}}" hover-stay-time="{{100}}" hover-class="calculator-key-hover" data-key="{{className}}" class="calculator-key {{className}}">{{display}}</button>
</template>

<view class="calculator">
  <view class="calculator-display">
    <view class="calculator-display-text">{{displayValue}}</view>
  </view>
  <view class="calculator-keypad">
    <view class="input-keys">
      <view class="function-keys" catchtap="onTapFunction">
        <template is="calculator-key" data="{{className: "key-clear", display: clearDisplay ? "C" : "C"}}"/>
        <template is="calculator-key" data="{{className: "key-sign", display: "+/-"}}"/>
        <template is="calculator-key" data="{{className: "key-percent", display: "%"}}"/>
   </view>
      <view class="digit-keys" catchtap="onTapDigit">
        <template is="calculator-key" data="{{className: "key-0", display: "0"}}"/>
        <template is="calculator-key" data="{{className: "key-dot", display: "●"}}"/>
        <template is="calculator-key" data="{{className: "key-1", display: "1"}}"/>
        <template is="calculator-key" data="{{className: "key-2", display: "2"}}"/>
        <template is="calculator-key" data="{{className: "key-3", display: "3"}}"/>
        <template is="calculator-key" data="{{className: "key-4", display: "4"}}"/>
        <template is="calculator-key" data="{{className: "key-5", display: "5"}}"/>
        <template is="calculator-key" data="{{className: "key-6", display: "6"}}"/>
        <template is="calculator-key" data="{{className: "key-7", display: "7"}}"/>
        <template is="calculator-key" data="{{className: "key-8", display: "8"}}"/>
        <template is="calculator-key" data="{{className: "key-9", display: "9"}}"/>
      </view>
    </view>
    <view class="operator-keys" catchtap="onTapOperator">
        <template is="calculator-key" data="{{className: "key-divide", display: "÷"}}"/>
        <template is="calculator-key" data="{{className: "key-multiply", display: "×"}}"/>
        <template is="calculator-key" data="{{className: "key-subtract", display: "?"}}"/>
        <template is="calculator-key" data="{{className: "key-add", display: "+"}}"/>
        <template is="calculator-key" data="{{className: "key-equals", display: "="}}"/>
    </view>
  </view>
</view>

index.js:

Page({
  data: {
    value: null, // 上次計(jì)算后的結(jié)果,null表示沒有上次計(jì)算的結(jié)果
    displayValue: "0", // 顯示數(shù)值
    operator: null, // 上次計(jì)算符號,null表示沒有未完成的計(jì)算
    waitingForOperand: false // 前一按鍵是否為計(jì)算符號
  },

  onLoad: function (options) {
    this.calculatorOperations = {
      "key-divide": (prevValue, nextValue) => prevValue / nextValue,
      "key-multiply": (prevValue, nextValue) => prevValue * nextValue,
      "key-add": (prevValue, nextValue) => prevValue + nextValue,
      "key-subtract": (prevValue, nextValue) => prevValue - nextValue,
      "key-equals": (prevValue, nextValue) => nextValue
    }
  },

  /* AC操作,一下回到解放前 */
  clearAll() {
    this.setData({
      value: null,
      displayValue: "0",
      operator: null,
      waitingForOperand: false
    })
  },

  /* 僅清空當(dāng)前顯示的輸入值 */
  clearDisplay() {
    this.setData({
      displayValue: "0"
    })
  },

  onTapFunction: function (event) {
    const key = event.target.dataset.key;

    switch (key) {
      case "key-clear":
        if (this.data.displayValue !== "0") {
          this.clearDisplay();
        } else {
          this.clearAll();
        }

        break;

      case "key-sign":
        var newValue = parseFloat(this.data.displayValue) * -1

        this.setData({
          displayValue: String(newValue)
        })

        break;

      case "key-percent":
        const fixedDigits = this.data.displayValue.replace(/^-?d*.?/, "")
        var newValue = parseFloat(this.data.displayValue) / 100

        this.setData({
          displayValue: String(newValue.toFixed(fixedDigits.length + 2))
        });

        break;

      default:
        break;
    }
  },

  onTapOperator: function (event) {
    const nextOperator = event.target.dataset.key;
    const inputValue = parseFloat(this.data.displayValue);

    if (this.data.value == null) {
      this.setData({
        value: inputValue
      });
    } else if (this.data.operator) {
      const currentValue = this.data.value || 0;
      const newValue = this.calculatorOperations[this.data.operator](currentValue, inputValue);

      this.setData({
        value: newValue,
        displayValue: String(newValue)
      });
    }

    this.setData({
      waitingForOperand: true,
      operator: nextOperator
    });
  },

  onTapDigit: function (event) {
    const key = event.target.dataset.key; // 根據(jù)data-key標(biāo)記按鍵

    if (key == "key-dot") {
      // 按下點(diǎn)號
      if (!(/./).test(this.data.displayValue)) {
        this.setData({
          displayValue: this.data.displayValue + ".",
          waitingForOperand: false
        })
      }
    } else {
      // 按下數(shù)字鍵
      const digit = key[key.length - 1];

      if (this.data.waitingForOperand) {
        this.setData({
          displayValue: String(digit),
          waitingForOperand: false
        })
      } else {
        this.setData({
          displayValue: this.data.displayValue === "0" ? String(digit) : this.data.displayValue + digit
        })
      }
    }
  }
})

index.wxss:

page {
  height:100%;
}

.calculator {
  width: 100%;
  height: 100vh;
  border:solid 1px;
  background: rgb(238, 5, 5);
  position: relative;
  box-shadow: 0px 0px 20px 0px rgb(211, 41, 41);
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

.calculator-display {     /*顯示器背景顏色*/
  background: #2c2a2c;
  flex: 1;
}

/*TODO:解決文本垂直居中問題,顯示器數(shù)字顏色*/
.calculator-display-text {
  padding: 0 30px;
  font-size: 3em;
  color: rgb(245, 245, 248);
  text-align: right;
}

.calculator-keypad {
  display: flex;

}

.calculator .function-keys {
  display: flex;
  color:rgb(245, 13, 13);

}

.calculator .digit-keys {
  background: #0808f7;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap-reverse;
}

.calculator-key-hover {   /*按鈕按下以后的顏色*/
  box-shadow: inset 0px 0px 25vw 0px hsla(71, 90%, 48%, 0.898);
}



.calculator-key {
background-color:aqua;

  display: block;
  width: 25vw;
  height: 25vw;
  line-height: 25vw;
  border-top: 1px solid rgb(6, 245, 78);
  border-right: 1px solid rgb(19, 241, 12);
  text-align: center;
  box-sizing: border-box;
}

.calculator .function-keys .calculator-key {
  font-size: 2em;

}

.calculator .digit-keys .calculator-key {
  font-size: 3em;
}

.calculator .digit-keys .key-0 {
  width: 50vw;
  text-align: left;
  padding-left: 9vw;
}

.calculator .digit-keys .key-dot {
  padding-top: 1em;
  font-size: 0.75em;
}

.calculator .operator-keys .calculator-key {
  color: rgb(248, 165, 10);
  border-right: 0;
  font-size: 3em;
}

.calculator .function-keys {
  background: linear-gradient(to bottom, rgb(6, 6, 240) 0%, rgb(52, 5, 240) 100%);
}

.calculator .operator-keys {
  background:  linear-gradient(to bottom, rgba(252,156,23,1) 0%, rgba(247,126,27,1) 100%);
}

.input-keys {
  width: 100%;
}

.operator-keys {
  width: 100%;
}

微信小程序怎么實(shí)現(xiàn)計(jì)算器小功能

關(guān)于“微信小程序怎么實(shí)現(xiàn)計(jì)算器小功能”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點(diǎn)。

文章題目:微信小程序怎么實(shí)現(xiàn)計(jì)算器小功能
當(dāng)前地址:http://chinadenli.net/article38/ppgjsp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、網(wǎng)站改版網(wǎng)站維護(hù)、網(wǎng)站收錄、網(wǎng)站設(shè)計(jì)外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)