1. Einführung in RechnerfunktionenEs ermöglicht die Addition (+), Subtraktion (-), Multiplikation (*), Division (/), Restoperation (%) sowie die Löschung (Del) und Löschfunktion (C) von Daten. 2. Design der Rechnerseite1. Navigationsleiste{ "navigationBarBackgroundColor": "#fff", "navigationBarTextStyle": "schwarz", "navigationBarTitleText": "Rechner" } 2. DatenteilDaten:{ // Nur die Anfangsdaten num: "1" werden in die Daten eingefügt, op:" "//Symbol für Aufzeichnungsoperation} 3. index.wxml Layoutseite<Klasse anzeigen="Ergebnis"> <view class="result-num">{{num}}</view> <view class="result-op">{{op}}</view> </Ansicht> <Ansichtsklasse="btns"> <Ansicht> <view hover-class="bg" bindtap="reSetBtn">C</view> <view hover-class="bg" bindtap="delBtn">Entf</view> <view hover-class="bg" bindtap="opBtn" data-val="%">%</view> <view hover-class="bg" bindtap="opBtn" data-val="/">/</view> </Ansicht> <Ansicht> <view hover-class="bg" bindtap="numBtn" data-val="7">7</view> <view hover-class="bg" bindtap="numBtn" data-val="8">8</view> <view hover-class="bg" bindtap="numBtn" data-val="9">9</view> <view hover-class="bg" bindtap="opBtn" data-val="*">*</view> </Ansicht> <Ansicht> <view hover-class="bg" bindtap="numBtn" data-val="4">4</view> <view hover-class="bg" bindtap="numBtn" data-val="5">5</view> <view hover-class="bg" bindtap="numBtn" data-val="6">6</view> <view hover-class="bg" bindtap="opBtn" data-val="-">-</view> </Ansicht> <Ansicht> <view hover-class="bg" bindtap="numBtn" data-val="1">1</view> <view hover-class="bg" bindtap="numBtn" data-val="2">2</view> <view hover-class="bg" bindtap="numBtn" data-val="3">3</view> <Ansicht hover-class="bg" bindtap="opBtn" data-val="+">+</Ansicht> </Ansicht> <Ansicht> <view hover-class="bg" bindtap="numBtn" data-val="0">0</view> <view hover-class="bg" bindtap="doBtn" data-val=".">.</view> <view hover-class="bg" bindtap="opBtn" data-val="=">=</view> </Ansicht> </Ansicht> 4. index.css-Style-SeiteSeite{ Anzeige: Flex; flex-direction: column;/*Die Richtung der Hauptachse des Projekts*/ Höhe: 100%; } .Ergebnis{ flex: 1;/*Elemente gleichmäßig verteilen*/ Hintergrund: #f3f6fe; Position: relativ; } .Ergebnis-Nummer{ Position: absolut;/*Vaters Sohn ist tot*/ Schriftgröße: 20pt; unten: 5vh; rechts: 3vw; } .Ergebnis-Op{ Position: absolut; Schriftgröße: 15pt; unten: 1vh; rechts: 3vw; } .btns{ biegen: 1; Anzeige: Flex; flex-direction: column;/*Die großen Ansichten im Inneren sind vertikal angeordnet*/ Schriftgröße: 17pt; Rahmen oben: 1rpx durchgezogen #ccc; Rahmen links: 1rpx durchgezogen #ccc; } .btns>Ansicht{ biegen: 1; Anzeige: Flex; } .btns>Ansicht>Ansicht{ Flex-Basis: 25 %;/*Breitenverhältnis*/ Rahmen unten: 1rpx durchgezogen #ccc; Rahmen rechts: 1rpx durchgezogen #ccc; box-sizing: border-box;/*plus das Rahmenverhältnis*/ Anzeige: Flex; Elemente ausrichten: zentrieren; justify-content: center;/*Die beiden Sätze zusammen zentrieren den Text*/ } .btns>Ansicht:letztes-Kind>Ansicht:erstes-Kind{ Flex-Basis: 50%; } .btns>Ansicht:erstes-Kind>Ansicht:erstes-Kind{ Farbe: #f00; } .btns>Ansicht>Ansicht:letztes-Kind{ Farbe: #fcBe00; } .bg{ Hintergrund: #eee; } 5. Operationsergebnisse3. Funktionaler Implementierungsteil1. LöschfunktionDie Funktion substr() hat zwei Parameter, der erste gibt die Startposition der Interception an und der zweite die Interception-Länge. delBtn:Funktion(e){ var num=this.data.num.substr(0,this.data.num.length-1); dies.setData({num:num===""? "0":num}) } 2. LöschfunktionreSetBtn:Funktion(e){ //Alles wird zum Anfangszustand. this.result=null; dies.isClear=false; dies.setData({num:"0",op:""}) } 3. Weitere FunktionenDaten:{ // Nur die Anfangsdaten num: "1" werden in die Daten eingefügt, op:" "//Symbol für Aufzeichnungsoperation}, Ergebnis: null, isClear:false, // wird verwendet um den Status aufzuzeichnen numBtn:function(e){ var num =e.target.dataset.val //Holen Sie sich den Wert in data-val //Wenn Sie mehrmals 0 drücken oder isClear wahr ist, werden die Originaldaten gelöscht und die gedrückte Nummer wird angezeigt if(this.data.num==='0'||this.isClear){ this.setData({num:num})//Gibt den erhaltenen Wert an result weiter dies.istKlar=false }anders{ dies.setData({num:this.data.num+num}) } }, opBtn:Funktion(e){ var op=this.data.op; //Zeichne zuerst die aktuelle Operation auf var num=Number(this.data.num);//Holen Sie sich die aktuellen Num-Daten this.setData({op:e.target.dataset.val});//Geben Sie die gedrückte Taste an die Variable op weiter if(this.isClear){//Denn wenn im obigen Vorgang der Operator gedrückt wird, ist isclear wahr. Um hier ein mehrfaches Drücken der Plus-Taste zu vermeiden, funktioniert es und kehrt dann zurück zurückkehren } this.isClear=true; //Wenn der Benutzer die Berechnungstaste drückt und dann eine Zahl eingibt, wird die ursprüngliche Zahl gelöscht, if (this.result===null) { dies.Ergebnis=Zahl; zurückkehren } wenn(op==="+"){ dieses.Ergebnis=dieses.Ergebnis+Zahl this.setData({num:this.result})//Setze das hinzugefügte Ergebnis auf num }sonst wenn(op==="-"){ dieses.Ergebnis=dieses.Ergebnis-num }sonst wenn(op==="*"){ dieses.Ergebnis=dieses.Ergebnis*Zahl }sonst wenn(op==="/"){ dieses.Ergebnis=dieses.Ergebnis/num }sonst wenn(op==="%"){ dieses.Ergebnis=dieses.Ergebnis%num } this.setData({num:this.result+""})//In String-Typ konvertieren}, doBtn:Funktion(e){ if(this.isClear){//Dies bedeutet, dass die letzte Operation abgeschlossen ist. Wenn Sie am Anfang . drücken, this.setData({num:"0."}); dies.isClear=false; zurückkehren } //Wenn Sie mehrmals drücken. wenn(this.data.num.indexOf(".")>=0){ zurückkehren } //Normale Zahl, gefolgt von this.setData({num:this.data.num+"."}) }, Dies ist das Ende dieses Artikels über den detaillierten Prozess der Implementierung von Rechnerfunktionen in JavaScript. Weitere relevante Inhalte zum JavaScript-Rechner finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder durchsuchen Sie die verwandten Artikel weiter unten. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Vorschläge zum Erstellen geschäftlicher HTML-E-Mails
>>: Docker ermöglicht mehrere Port-Mapping-Befehle
Was die Hochverfügbarkeitslösungen für Oracle und...
emmm, der Name ist nur eine zufällige Vermutung 2...
Vorwort: Ich habe Win10 neu installiert und gleic...
<br />Einfaches Beispiel zum Hinzufügen und ...
Vorwort mysqlslap ist ein Diagnoseprogramm, das d...
Mit dem Laufschriftelement können Sie einfache Gle...
Inhaltsverzeichnis Dienstprogramme: Verwendung in...
Schritt 1: Öffnen Sie mit dem Editor die Datei „m...
Name Geben Sie einen Namen für das Tag an. Format...
Installationsvorschlag : Versuchen Sie, für die I...
Kürzlich haben Studierende des User Experience-Tea...
Ursache: Der NVIDIA-Grafikkartentreiber ist besch...
MySQL Binlog ist ein sehr wichtiges Protokoll in ...
1. Einleitung MySQL Group Replication (kurz MGR) ...
Lösung Funktion mergeImgs(Liste) { const imgDom =...