From f8d2f432012317c4630f5f0e3bed74f38a00b7c4 Mon Sep 17 00:00:00 2001 From: liyukun <1099438829@qq.com> Date: Wed, 16 Mar 2022 10:25:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=BC=94=E7=A4=BAapp=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E8=AE=A1=E7=AE=97=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/calculator/audio.mp3 | Bin 0 -> 2657 bytes app/calculator/index.html | 54 ++++++++++++++++++++++++ app/calculator/index.js | 34 +++++++++++++++ app/calculator/sound.mp3 | Bin 0 -> 2657 bytes app/calculator/style.css | 84 ++++++++++++++++++++++++++++++++++++++ demo.html | 8 ++-- img/icon/calculator.png | Bin 0 -> 17346 bytes 7 files changed, 177 insertions(+), 3 deletions(-) create mode 100644 app/calculator/audio.mp3 create mode 100644 app/calculator/index.html create mode 100644 app/calculator/index.js create mode 100644 app/calculator/sound.mp3 create mode 100644 app/calculator/style.css create mode 100644 img/icon/calculator.png diff --git a/app/calculator/audio.mp3 b/app/calculator/audio.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..5d83bde6bbbf046b1cf0280fb77aad99520f6549 GIT binary patch literal 2657 zcmeH{TToMJ634%jlY|fw41`NWz{oY+PeKq7#tjf6VFHVS6ewU4Frp{|Dvs=kCxC!V z93ldSi#J9P?|`5V=u8L+AOuAO5xfvZkwI5saB6VWabdRHHy^k5Wq%J}_rJQUyX&j2 z=5sx&?o0&vEBf!})2vSUAIVRZY@ZkN`Cz^RkqsnY zpyEqtzr?36vCw>exWt9wycWb~>^?h0_HH1*^;!Mj{+E7WeiPJSyNRh5+MolhbAn5r zzpa_|@)$+ZCbKjRr&C+SmhiX(q=I(|IsL-X=9a##iE*4my@n-&#MqRLCLX& zfD8av={5=>FVE6-WOHwM0voPr&Am2_Nj$&%jZ?4#Z4GaH=i9e$rypEt8#EGob&1Zq z+K3spl$4n)e8UO-!bYo*%2QFYfNFP5$Qe@`b;PdlGsFL&rc8g_B--8RoxLIbehN9m zY2@m*-hwwhOS@*q_Kp4S)|>HU?y1V$_4?*~_1L?;*FWtV-~PV**2n|Dlz*l_+_$u| zq0Q80vMAJE(er$vxu1Zmj{2^#(6eCKhw{kIvETn(dUgN7ftX9=mX^orNALE2ANuHu zb=z=ON1g9Cl=J{|@vE5NkX}X^%s%bU!Z zFxH%@Bk!ZZ3gv68?nPhj;P7FW=9_Eyg)fZ^EkDgZRdc>kn=#18=YZ-3Y;rTlKS?7a zC{-C`x~dMxnA-7moW^B|Nq4Nt!=B2BXQMhv(g28PP%VL@ltGYIc>pp|w&LYHqLFkI zJ}D>hMKZ)C{k!_bhoT^)0i&cFVgMbXaf%QFP7p#vZ4rHRJ=0h{#3U%&kyeZe25^N$ zG+IbSi9c%r9h(Cz5mVF(!7I6O`Jf&G9D;y=3P@&351Ab&Ql>X8($c0qhE(2Xyb5+b zGm`;1Y*vXgU)vmYdnP9n9ziFua`_@WEQIk;2!T#F)u0z^#^Y35>LSK(2R_wEs;bsy zP0%BB76NQPQ46Qx24njW2w($~8Bp`8eU34fWa?%r<>isD60-OF;5B(QzRKgmvE`0? zrp~|Gbu;0O$|s;v;vpI<7(e7h%3ArX#pxXx{w1VOr{^A&WmR#B9LB%ce|zuMpED}r zZzhhpo*0y9M&eSlHD5Pw>kl=@%eTeXoUV8kHm7-auv6mb9yF7sZ?dub zlsve8`yHN>d(Tma$=BiQO77l$SRS4sc4TIFnupZ_z{69ye^zSe5udoGAr^ z`)tqdSQpil!aC1Lnv7Sl3dNdG5uKRCzzOk&iPMs)aGo<%WD9bE+=_^)S$;%gFS|!* z?)PVq7;1lI97(%y6xQ#NnZ=J+P6JC-x60pI;F1G60BNqI6Q&DZ`#lkpYCfNaZ;+U`$Bhk}^3*)eL2EsIF+ys_hD$IdZ6g}iJZX83`M@WE*6M7*` z(1F#h1Q@AQXHGK%N*MtHY#|$nl$OF6JP)EHmS6(nIHYXke^g~Ap=EmDue){)Z8IUx67FvPk2?$fP#P$UYh@az#9j0Ub~h+a9+ftq%?U$|nSqLyhnk%yrb zTlKFLg^qr-n?e$*f0Q*I2W+ndWE;O2K|irZ+$I#By-u6b-yTSH{A!|I{6nN{bu zOg7#7wnx0^ZfH#3qtU8t(X9>HE_Z)D?d02Q)lvQCPhxx4OQVvR+4LuxVv786ODe8l zwyfpdBrfwR9wtP;bT@IgI4)$?FL`Ca7Jv78emKz4Vc{sG?@^l$LL>J9K|DcA z-AZv>Y?ds}x69cQDk;rK%CW!0;qNCZ`n%-_-M_0ypd8c|1sMqJl!Fh*L)WyBAWC;9 zf}|GF?lagieUaq&h;CHiTHkkzq*Z9z6@MtsoNFVqPKCQRrc}N|^(&SgsHEizS{vNtI^Yy|r&%f0(ye03qOLoqENgA% zpb`S{#$j$#ZN;klHDwS7a0I45I&WI+W^-f6BiAjm*@; literal 0 HcmV?d00001 diff --git a/app/calculator/index.html b/app/calculator/index.html new file mode 100644 index 0000000..22ffa4f --- /dev/null +++ b/app/calculator/index.html @@ -0,0 +1,54 @@ + + + + + + Calculator + + + +
+
+
+
0
+
+
+
+
AC
+
(
+
)
+
÷
+
+
+
7
+
8
+
9
+
×
+
+
+
4
+
5
+
6
+
-
+
+
+
1
+
2
+
3
+
+
+
+
+
0
+
.
+
=
+
+
+ +
+ + + + \ No newline at end of file diff --git a/app/calculator/index.js b/app/calculator/index.js new file mode 100644 index 0000000..3f8e387 --- /dev/null +++ b/app/calculator/index.js @@ -0,0 +1,34 @@ +var inputTxt = '' +var outputTxt = '' +//add event listening +$('.line-item').on('click',e=>{ + // console.log('here') + playSoud() + var key = e.target.dataset.key + console.log(key) + switch(key){ + case '=': + try{ + outputTxt = eval(inputTxt) + }catch(e){ + outputTxt = 'error' + } + break; + case 'AC': + //clear all inputs and outputs + inputTxt = '' + outputTxt = '0' + break; + default: + inputTxt += key + } + //update the view + updateView() +}) +function playSoud(){ + $('audio')[0].play() +} +function updateView(){ + $('.input-box').html(inputTxt) + $('.output-box').html(outputTxt) +} \ No newline at end of file diff --git a/app/calculator/sound.mp3 b/app/calculator/sound.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..5d83bde6bbbf046b1cf0280fb77aad99520f6549 GIT binary patch literal 2657 zcmeH{TToMJ634%jlY|fw41`NWz{oY+PeKq7#tjf6VFHVS6ewU4Frp{|Dvs=kCxC!V z93ldSi#J9P?|`5V=u8L+AOuAO5xfvZkwI5saB6VWabdRHHy^k5Wq%J}_rJQUyX&j2 z=5sx&?o0&vEBf!})2vSUAIVRZY@ZkN`Cz^RkqsnY zpyEqtzr?36vCw>exWt9wycWb~>^?h0_HH1*^;!Mj{+E7WeiPJSyNRh5+MolhbAn5r zzpa_|@)$+ZCbKjRr&C+SmhiX(q=I(|IsL-X=9a##iE*4my@n-&#MqRLCLX& zfD8av={5=>FVE6-WOHwM0voPr&Am2_Nj$&%jZ?4#Z4GaH=i9e$rypEt8#EGob&1Zq z+K3spl$4n)e8UO-!bYo*%2QFYfNFP5$Qe@`b;PdlGsFL&rc8g_B--8RoxLIbehN9m zY2@m*-hwwhOS@*q_Kp4S)|>HU?y1V$_4?*~_1L?;*FWtV-~PV**2n|Dlz*l_+_$u| zq0Q80vMAJE(er$vxu1Zmj{2^#(6eCKhw{kIvETn(dUgN7ftX9=mX^orNALE2ANuHu zb=z=ON1g9Cl=J{|@vE5NkX}X^%s%bU!Z zFxH%@Bk!ZZ3gv68?nPhj;P7FW=9_Eyg)fZ^EkDgZRdc>kn=#18=YZ-3Y;rTlKS?7a zC{-C`x~dMxnA-7moW^B|Nq4Nt!=B2BXQMhv(g28PP%VL@ltGYIc>pp|w&LYHqLFkI zJ}D>hMKZ)C{k!_bhoT^)0i&cFVgMbXaf%QFP7p#vZ4rHRJ=0h{#3U%&kyeZe25^N$ zG+IbSi9c%r9h(Cz5mVF(!7I6O`Jf&G9D;y=3P@&351Ab&Ql>X8($c0qhE(2Xyb5+b zGm`;1Y*vXgU)vmYdnP9n9ziFua`_@WEQIk;2!T#F)u0z^#^Y35>LSK(2R_wEs;bsy zP0%BB76NQPQ46Qx24njW2w($~8Bp`8eU34fWa?%r<>isD60-OF;5B(QzRKgmvE`0? zrp~|Gbu;0O$|s;v;vpI<7(e7h%3ArX#pxXx{w1VOr{^A&WmR#B9LB%ce|zuMpED}r zZzhhpo*0y9M&eSlHD5Pw>kl=@%eTeXoUV8kHm7-auv6mb9yF7sZ?dub zlsve8`yHN>d(Tma$=BiQO77l$SRS4sc4TIFnupZ_z{69ye^zSe5udoGAr^ z`)tqdSQpil!aC1Lnv7Sl3dNdG5uKRCzzOk&iPMs)aGo<%WD9bE+=_^)S$;%gFS|!* z?)PVq7;1lI97(%y6xQ#NnZ=J+P6JC-x60pI;F1G60BNqI6Q&DZ`#lkpYCfNaZ;+U`$Bhk}^3*)eL2EsIF+ys_hD$IdZ6g}iJZX83`M@WE*6M7*` z(1F#h1Q@AQXHGK%N*MtHY#|$nl$OF6JP)EHmS6(nIHYXke^g~Ap=EmDue){)Z8IUx67FvPk2?$fP#P$UYh@az#9j0Ub~h+a9+ftq%?U$|nSqLyhnk%yrb zTlKFLg^qr-n?e$*f0Q*I2W+ndWE;O2K|irZ+$I#By-u6b-yTSH{A!|I{6nN{bu zOg7#7wnx0^ZfH#3qtU8t(X9>HE_Z)D?d02Q)lvQCPhxx4OQVvR+4LuxVv786ODe8l zwyfpdBrfwR9wtP;bT@IgI4)$?FL`Ca7Jv78emKz4Vc{sG?@^l$LL>J9K|DcA z-AZv>Y?ds}x69cQDk;rK%CW!0;qNCZ`n%-_-M_0ypd8c|1sMqJl!Fh*L)WyBAWC;9 zf}|GF?lagieUaq&h;CHiTHkkzq*Z9z6@MtsoNFVqPKCQRrc}N|^(&SgsHEizS{vNtI^Yy|r&%f0(ye03qOLoqENgA% zpb`S{#$j$#ZN;klHDwS7a0I45I&WI+W^-f6BiAjm*@; literal 0 HcmV?d00001 diff --git a/app/calculator/style.css b/app/calculator/style.css new file mode 100644 index 0000000..3cec897 --- /dev/null +++ b/app/calculator/style.css @@ -0,0 +1,84 @@ +@charset "utf-8"; +body,a,h1,h2,h3,h4,h5,h6,p,div,em,ul,li { + font-family: PingFang SC, Verdana, Helvetica Neue, Microsoft Yahei, Hiragino Sans GB, Microsoft Sans Serif, WenQuanYi Micro Hei, sans-serif; +} + +html { + height: 100%; +} + +/*去除ul中li左边的圆点*/ +ul{ + list-style: none; + padding: 0; + margin: 0; +} +body { + padding: 0; + margin: 0; + width: 100%; + background-color: black; + overflow: hidden; +} +.container{ + background-color: black; + width: 350px; + padding:20px; +} +.screen-box{ + text-align: right; + color:white; +} +.input-box{ + font-size:30px; + height:40px; + line-height: 40px; + overflow: hidden; +} +.output-box{ + font-size:48px; + height:56px; + line-height: 56px; + overflow: hidden; +} +/* keyboard style */ +.line{ + display: flex; + justify-content: space-between; + text-align: center; + margin-bottom:10px; +} +.line > div{ + width: 80px; + height: 80px; + line-height: 80px; + text-align: center; + color: white; + border-radius: 80px; + font-size: 25px; + cursor: pointer; +} +[data-key="0"]{ + width: 168px !important; +} +.grey-white{ + background-color: #a5a5a5; + color:black; +} +.grey-white:hover{ + background-color: #cccaca; +} +.orange{ + background-color: #ff9f0c; + color:white; +} +.orange:hover{ + background-color: #ffbb54; +} +.grey-black{ + background-color: #333333; + color:white; +} +.grey-black:hover{ + background-color: #747373; +} \ No newline at end of file diff --git a/demo.html b/demo.html index 07f6ebf..8130dab 100644 --- a/demo.html +++ b/demo.html @@ -45,12 +45,14 @@
GameCenter
-
+
Calendar
- +
+ +
Calculator
+
iCloud
diff --git a/img/icon/calculator.png b/img/icon/calculator.png new file mode 100644 index 0000000000000000000000000000000000000000..9a2df641b573719bd980a87042a0f5346c87b10e GIT binary patch literal 17346 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