Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 日韩偷拍自拍,一区二区三区免费在线视频,三级网站视频在线观看

          整合營(yíng)銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          用div+css+js做一個(gè)簡(jiǎn)單的計(jì)算器,只用幾行js,iphone計(jì)算器界面

          • 于想做一個(gè)計(jì)算器了,少少幾行js代碼而已。
          • 網(wǎng)上有很多的html計(jì)算器的實(shí)例,大多是用table來(lái)做的,但我還是選擇用div來(lái)做。
          • 這個(gè)計(jì)算器有基本的運(yùn)算功能,但一些細(xì)的糾錯(cuò),就沒(méi)再細(xì)究了,極簡(jiǎn)嘛。
          • 更多文章,請(qǐng)關(guān)注我的頭條號(hào),我是落筆承冰。

          一、開(kāi)始吧,先做一個(gè)360*500的盒子。

          二、加入輸入框,輸入框給它270寬,再配個(gè)灰色背景。

          三、做18個(gè)div,我覺(jué)得這樣子比table標(biāo)簽更直觀,其實(shí)你還是什么都看不見(jiàn),因?yàn)樽质呛谏模尘昂谏摹?/p>

          四、行了,我們給div加樣式吧。

          • 盒子天生獨(dú)占一行,我們做一下修改讓它擺得整齊些。

          五、我們讓這18個(gè)按鈕浮動(dòng),它們就不會(huì)獨(dú)占一行了,然后再讓它們外部上下左右距離為5px。

          • 整體的樣子是有了。

          六、把按鍵做成圓的,里面的字居中,然后再把字變大。

          • 注釋占了太多行,后面我就不寫這么多了,特別是重復(fù)的。

          七、把計(jì)算器的整體外觀也改改。

          • 內(nèi)部距離20px,再加20px的圓角。

          八、“=”和“0” 這兩個(gè)一個(gè)是加高,一個(gè)是加寬,我們得再加樣式區(qū)別對(duì)待。

          • 按鈕變長(zhǎng)了,但是卻空了一行。

          九、我們讓等號(hào)按鈕右浮動(dòng)就可以了。

          十、對(duì)按鈕再修飾,做兩個(gè)樣式,一個(gè)是灰白色,一個(gè)是土黃色。

          十一、對(duì)輸入框做個(gè)修飾,最終完成界面設(shè)計(jì)。

          十二、我們整個(gè)js只用獲取一個(gè)元素對(duì)象,那就是input。

          十三、做按鈕點(diǎn)擊事件,把大多數(shù)按鈕的點(diǎn)擊都寫進(jìn)去,這里我特意用箭頭函數(shù),當(dāng)學(xué)習(xí)吧。

          幾乎所有的按鈕都調(diào)用這個(gè)clickbt函數(shù),唯有“=”號(hào)不用。

          十四、該是為“=”加函數(shù)的時(shí)候了,這里用了eval(),能把字符串當(dāng)算式運(yùn)算出結(jié)果。

          十五、總結(jié),到此為止,整個(gè)計(jì)算器就做出來(lái)了,大家會(huì)發(fā)現(xiàn)js部分很簡(jiǎn)單,因?yàn)槲覀冎挥幸话愕募訙p乘除計(jì)算,有更多想法的朋友,自己補(bǔ)充吧。

          十種編程語(yǔ)言開(kāi)發(fā)計(jì)算器應(yīng)用

          1. C語(yǔ)言
          2. C#(windows桌面軟件)
          3. Swift (ios應(yīng)用)
          4. python
          5. Dart(Flutter應(yīng)用,跨平臺(tái),適用安卓、ios、mac、windows、web)
          6. Java(安卓App)
          7. Kotlin (安卓App)
          8. Js+Html+Vue(H5應(yīng)用)
          9. 微信小程序
          10. 抖音小程序

          image

          h5版

          image

          開(kāi)發(fā)工具

          IntelliJ IDEA

          image

          工程截圖

          image

          關(guān)鍵代碼文件

          • index.html 界面及計(jì)算邏輯

          完整代碼比較長(zhǎng),博客正文就不貼了,詳見(jiàn)下方鏈接。

          完整源代碼

          https://gitee.com/hspbc/calculators

          image

          系列文章

          用十種編程語(yǔ)言開(kāi)發(fā)計(jì)算器應(yīng)用-第一篇-C語(yǔ)言

          用十種編程語(yǔ)言開(kāi)發(fā)計(jì)算器應(yīng)用-第二篇-Java

          用十種編程語(yǔ)言開(kāi)發(fā)計(jì)算器應(yīng)用-第三篇-Python

          用十種編程語(yǔ)言開(kāi)發(fā)計(jì)算器應(yīng)用-第四篇-Kotlin

          用十種編程語(yǔ)言開(kāi)發(fā)計(jì)算器應(yīng)用-第五篇-Flutter

          用十種編程語(yǔ)言開(kāi)發(fā)計(jì)算器應(yīng)用-第六篇-iOS



          關(guān)于我

          廈門大學(xué)計(jì)算機(jī)專業(yè)|華為八年高級(jí)工程師
          十年軟件開(kāi)發(fā)經(jīng)驗(yàn),5年編程培訓(xùn)教學(xué)經(jīng)驗(yàn)
          目前從事編程教學(xué),軟件開(kāi)發(fā)指導(dǎo),軟件類畢業(yè)設(shè)計(jì)指導(dǎo)。
          所有編程資料及開(kāi)源項(xiàng)目見(jiàn)https://cxyxy.blog.csdn.net/article/details/120405881

          者:咕隆先森

          來(lái)源:Python 技術(shù)

          前段時(shí)間剛接觸到前端網(wǎng)頁(yè)開(kāi)發(fā),但是對(duì)于剛?cè)腴T的小白而言,像flask、Django等這類稍大型的框架確實(shí)不太適合,今天這個(gè)Dash是集眾家之長(zhǎng)于一體的輕量化Web開(kāi)發(fā)庫(kù)。

          Dash是什么?

          Dash 是一個(gè)用于構(gòu)建基于 Web 的應(yīng)用程序的 Python 庫(kù),無(wú)需 JavaScript 。

          Dash 同時(shí)也是用于創(chuàng)建分析 Web 應(yīng)用程序的用戶界面庫(kù)。那些使用 Python 進(jìn)行數(shù)據(jù)分析、數(shù)據(jù)挖掘、可視化、建模、儀器控制和報(bào)告的人可以立即使用 Dash 。

          Dash 建立在 Plotly.js、React 和 Flask 之上,將現(xiàn)代 UI 元素(如下拉列表、滑塊和圖形)與你的分析 Python 代碼相結(jié)合。

          網(wǎng)頁(yè)搭建步驟

          安裝相關(guān)依賴(庫(kù))

          提示:本文基于Windows 10、Anaconda 3、Sublime Text,Python版本為3.6.5 個(gè)人習(xí)慣單獨(dú)新一個(gè)用于dash開(kāi)發(fā)的虛擬環(huán)境,創(chuàng)建命令:

          conda create -n myenv_dash python==3.6.5
          

          安裝Dash的第三方包:

          pip install dash
          

          因?yàn)槭腔贔lask,所以系統(tǒng)會(huì)自動(dòng)安裝相應(yīng)的依賴,這里我建議也安裝一個(gè)額外依賴:dash_bootstrap_components

          pip install dash_bootstrap_components
          

          此依賴包含Twitter的bootstrap組件。

          導(dǎo)入相關(guān)包

          from dash import Dash, html, dcc
          from dash.dependencies import Input, Output
          import dash_bootstrap_components as dbc
          

          構(gòu)建app

          try:
              # 獲取在線bootstrap.min.css
              app = Dash(__name__, external_stylesheets = ['https://cdn.staticfile.org/twitter-bootstrap/4.5.2/css/bootstrap.min.css'])
              print('此網(wǎng)頁(yè)渲染基于在線的CSS')
          except:
              # 獲取本地bootstrap.min.css
              app = Dash(__name__, external_stylesheets = [r"E:\Desktop\My_Python\Dash\css\bootstrap.min.css"])
              print('此網(wǎng)頁(yè)渲染基于本地的CSS')
          app.title = '在線匯率計(jì)算器'
          

          此處使用的css有在線的和本地的,利用try……except……防止在線的css文件無(wú)法加載而導(dǎo)致報(bào)錯(cuò)。

          構(gòu)建結(jié)果輸出函數(shù)

          代碼如下(示例):

          # 輸出函數(shù),對(duì)于重復(fù)使用的,定義函數(shù)更快捷
          def item(name, img_path):
              return dbc.ListGroupItem([html.H5(name), html.Img(src=img_path), html.H5('---', id=name, className='float-right')])
          

          因?yàn)槭菃屋斎耄噍敵觯瑯?gòu)建item函數(shù)可以重復(fù)利用,優(yōu)化代碼, 函數(shù)參數(shù)有貨幣名稱和國(guó)旗(提前準(zhǔn)備好圖片素材,大小建議不要太大,我的圖片是160*110)。dbc.ListGroupItem組件可以很好的定位標(biāo)簽、文字; 其中的className='float-right'可以理解為顯示樣式,代表“靠右浮動(dòng)”

          網(wǎng)頁(yè)結(jié)構(gòu)Layout搭建

          代碼如下(示例):

          app.layout = dbc.Container(
              children=[
                  dbc.ListGroup([
                      dbc.ListGroupItem(children=[
                          html.H1("匯率計(jì)算器-簡(jiǎn)單版",style={'textAlign': 'center','color':'#272528'}),
                          html.P('輸入:用于兌換外幣的人民幣數(shù);輸出:能兌換到的外幣數(shù);單位:?jiǎn)挝粠胖怠?#39;,style={'textAlign': 'center','color':'#BB002D'}),
                          dbc.Input(value = 0, id = 'input', type='number')
                      ],active=True),
                      item('JPY','./assets/Japan.jpg'),
                      item('USD','./assets/USA.jpg'),
                      item('GBP','./assets/UK.jpg'),
                      item('HKD','./assets/Hongkong.jpg'),
                      item('EUR','./assets/EU.png'),
                      item('CHF','./assets/France.png'),
                      item('INR','./assets/India.jpg')
                  ],className='shadow')
              ],style={'padding':'2rem'}
          )
          

          layout為GUI布局,采用列表的模式,根據(jù)行列進(jìn)行排布;style={'textAlign': 'center','color':'#272528'}為文字排布樣式設(shè)定,為字典類型,可以設(shè)置字體,顏色等 dbc.Input(value = 0, id = 'input', type='number')默認(rèn)value值為0,數(shù)據(jù)類型為number用于計(jì)算;style={'padding':'2rem'}為Container(容器)的居中顯示樣式,代表畫(huà)布距離邊界的寬度。

          callback回調(diào)參數(shù)設(shè)定

          代碼如下(示例):

          @app.callback(
              output = [
              Output('JPY', 'children'),
              Output('USD', 'children'),
              Output('GBP', 'children'),
              Output('HKD', 'children'),
              Output('EUR', 'children'),
              Output('CHF', 'children'),
              Output('INR', 'children')
              ],
              inputs = [Input('input', 'value')]
              )
          def rule(rmb):
              rmb = rmb if rmb is not None else 0
              return (
                  f'{round(rmb/0.0501,2)} ¥',
                  f'{round(rmb/6.7646,2)} $',
                  f'{round(rmb/8.1682,2)} £',
                  f'{round(rmb/0.8615,2)} ¥',
                  f'{round(rmb/6.8881,2)} €',
                  f'{round(rmb/7.0309,2)} €',
                  f'{round(rmb/0.0852,2)} $'
                  )
          

          @app.callback可以理解為裝飾器,用于網(wǎng)頁(yè)的交互。rule函數(shù)用于計(jì)算匯率。ps:這里的貨幣符號(hào)不一定全對(duì),意思一些,不用太較真哈!!!

          界面效果

          總結(jié)

          本項(xiàng)目到這里,整個(gè)項(xiàng)目就已經(jīng)完成了,涉及到的一些基礎(chǔ)技能,還需要一點(diǎn)功力,好了,今天的分享就到這里,后續(xù)會(huì)更新如何使用requests爬蟲(chóng)獲取實(shí)時(shí)匯率進(jìn)行動(dòng)態(tài)匯率換算。


          主站蜘蛛池模板: 一区二区三区国模大胆| 日韩精品中文字幕视频一区| 国产成人精品亚洲一区| 无码一区二区三区| 色噜噜一区二区三区| 国产手机精品一区二区| 日本一区二区不卡在线| 中日av乱码一区二区三区乱码| 麻豆视频一区二区三区| 爱爱帝国亚洲一区二区三区| 国产午夜精品一区二区三区极品| 精品无码一区二区三区亚洲桃色| 成人免费区一区二区三区| 国产亚洲综合一区二区三区| 精品国产一区二区三区www| 亚洲一区无码中文字幕乱码| 亚洲不卡av不卡一区二区| 精品aⅴ一区二区三区| 国产一区二区影院| 国产一区风间由美在线观看| 美日韩一区二区三区| 春暖花开亚洲性无区一区二区| 久久精品无码一区二区三区不卡 | 国产一区二区三区免费看| 成人精品一区二区三区电影| 精品无码综合一区二区三区| 日本香蕉一区二区三区| 国产成人精品亚洲一区| 一区二区三区伦理高清| 91精品一区国产高清在线| 精品一区二区在线观看| 精品视频无码一区二区三区| 午夜性色一区二区三区免费不卡视频| 精品国产一区二区三区不卡| 国产微拍精品一区二区| 国产精品乱码一区二区三区| 国产一区二区在线看| 国产精品高清视亚洲一区二区| 在线免费视频一区二区| 一区二区三区视频免费| 亚洲av无码一区二区三区网站|