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
Inhaltsverzeichnis 1. Die übergeordnete Komponent...
Ich glaube, dass viele Benutzer, die Websites ers...
Das beliebteste Tag ist IE8 Browser-Anbieter geben...
Füge im CSS-Style des Elements, welches die Hinte...
In diesem Artikel finden Sie das Installations-Tu...
Vorwort Das Grundprinzip der MySQL-Master-Slave-R...
Bei unserer täglichen Arbeit führen wir manchmal ...
Das Projekt wurde in diesen Tagen getestet und de...
Unsere erfahrenen Vorgänger haben zahllose Codes ...
In Projekten werden häufig Batch-Operationsanweis...
Weiterführende Literatur: MySQL8.0.20-Installatio...
Inhaltsverzeichnis 1. Hauptfunktionen 2. Umsetzun...
Beim Verwenden des XAML-Layouts müssen manchmal ei...
Informationen zum Miniprogramm-Datencache Datenca...
In diesem Artikel werden hauptsächlich mehrere Pl...