溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

JS實(shí)現(xiàn)基本的網(wǎng)頁計(jì)算器功能示例

發(fā)布時(shí)間:2020-08-20 20:30:11 來源:腳本之家 閱讀:170 作者:qq_42412646 欄目:web開發(fā)

本文實(shí)例講述了JS實(shí)現(xiàn)基本的網(wǎng)頁計(jì)算器功能。分享給大家供大家參考,具體如下:

<html>
    <head>
        <title>網(wǎng)頁計(jì)算機(jī)</title>
        <meta charset="UTF-8"/>
        <style type="text/css">
            #jsjdiv{
                border: solid 1px black;
                border-radius: 5px;
                width: 200px;
                /*height: 400px;*/
                text-align: center; /*設(shè)置div內(nèi)部居中*/
                margin: auto;    /*設(shè)置計(jì)算機(jī)居中*/
                background-color: darkgrey;
            }
            input[type=text]{
                width: 190px;          /*設(shè)置大小*/
                height: 35px;
                margin-top: 10px;   /*設(shè)置邊框*/
                margin-bottom: 5px;
            }
            input[type=button]{
                width: 44px;
                height: 44px;
                /*margin-left: 5px;
                margin-right: 5px;*/
                margin-top: 5px;
                margin-bottom: 10px;
                font-size: 25px;  /*設(shè)置text的字體大小及深度*/
                font-weight: 600;
            }
        </style>
        <script type="text/javascript">
            function cal(btn){
                var num=btn.value;
                switch (num){   // 利用eval可以把string的內(nèi)容轉(zhuǎn)化成代碼,在代碼中輸入可以直接進(jìn)行計(jì)算
                    case "=":
                        document.getElementById("inp").value=eval(document.getElementById("inp").value);
                        break;
                    case "c":
                        document.getElementById("inp").value="";
                        break;
                    default:        //進(jìn)行輸入數(shù)據(jù)的拼接
                        document.getElementById("inp").value=document.getElementById("inp").value + num;
                        break;
                }
            }
        </script>
    </head>
    <body>
        <div id="jsjdiv">
            <input type="text" name="" id="inp" value="" /><br />
            <input type="button" name="" id="btn" value="1" onclick="cal(this)"/>
            <input type="button" name="" id="" value="2" onclick="cal(this)"/>
            <input type="button" name="" id="" value="3" onclick="cal(this)"/>
            <input type="button" name="" id="" value="4" onclick="cal(this)"/><br />
            <input type="button" name="" id="" value="5" onclick="cal(this)"/>
            <input type="button" name="" id="" value="6" onclick="cal(this)"/>
            <input type="button" name="" id="" value="7" onclick="cal(this)"/>
            <input type="button" name="" id="" value="8" onclick="cal(this)"/><br />
            <input type="button" name="" id="" value="9" onclick="cal(this)"/>
            <input type="button" name="" id="" value="+" onclick="cal(this)"/>
            <input type="button" name="" id="" value="-" onclick="cal(this)"/>
            <input type="button" name="" id="" value="*" onclick="cal(this)"/><br />
            <input type="button" name="" id="" value="0" onclick="cal(this)"/>
            <input type="button" name="" id="" value="/" onclick="cal(this)"/>
            <input type="button" name="" id="" value="c" onclick="cal(this)"/>
            <input type="button" name="" id="" value="=" onclick="cal(this)" />
        </div>
    </body>
</html>

運(yùn)行效果:

JS實(shí)現(xiàn)基本的網(wǎng)頁計(jì)算器功能示例

網(wǎng)頁計(jì)算機(jī):

利用css進(jìn)行div的布局設(shè)置基本的計(jì)算機(jī)的基本的框架,

在其內(nèi)部設(shè)置text進(jìn)行顯示,利用button添加按鈕。

一個(gè)主要的點(diǎn):我們要在按按鈕的時(shí)候,把數(shù)據(jù)輸出到text文本上。我們利用了function添加一個(gè)函數(shù),在進(jìn)行按按鈕時(shí),利用onclick,連接到函數(shù),在函數(shù)中實(shí)現(xiàn)文本的顯示。但是我們?cè)诤瘮?shù)中只能對(duì)某個(gè)id進(jìn)行調(diào)用,這樣就表示有多少按鈕就要有多少函數(shù),而且內(nèi)容相同。所以我們引用了this(當(dāng)前對(duì)象)進(jìn)行調(diào)用。

另一方面,我們要實(shí)現(xiàn)計(jì)算,我們利用eval()把其中的內(nèi)容轉(zhuǎn)化為代碼,就相當(dāng)于代碼執(zhí)行。所以可以直接進(jìn)行運(yùn)算輸出。

當(dāng)我們輸入“=”和“c"就要進(jìn)行計(jì)算操作,相應(yīng)的我們利用了switch進(jìn)行區(qū)分。

感興趣的朋友可以使用在線HTML/CSS/JavaScript前端代碼調(diào)試運(yùn)行工具:http://tools.jb51.net/code/WebCodeRun測(cè)試上述代碼運(yùn)行效果。

PS:這里再為大家推薦幾款計(jì)算工具供大家進(jìn)一步參考借鑒:

在線一元函數(shù)(方程)求解計(jì)算工具:
http://tools.jb51.net/jisuanqi/equ_jisuanqi

科學(xué)計(jì)算器在線使用_高級(jí)計(jì)算器在線計(jì)算:
http://tools.jb51.net/jisuanqi/jsqkexue

在線計(jì)算器_標(biāo)準(zhǔn)計(jì)算器:
http://tools.jb51.net/jisuanqi/jsq

更多關(guān)于JavaScript相關(guān)內(nèi)容還可查看本站專題:《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript事件相關(guān)操作與技巧大全》、《JavaScript操作DOM技巧總結(jié)》及《JavaScript字符與字符串操作技巧總結(jié)》

希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI