登录  /  注册
博主信息
博文 32
粉丝 0
评论 0
访问量 23394
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
js计算器——2018年9月24日20点37分
Nevermore的博客
原创
692人浏览过

QQ图片20180924203822.png实例

<body>
<div class="box">
    <h3>计算器</h3>
    <form action="">
        <table>
           <tr>
               <td><input type="text" id="opt1" placeholder="请输入数字"></td>
               <td><select name="opt" id="">
                   <option value="add">+</option>
                   <option value="sub">-</option>
                   <option value="mul">*</option>
                   <option value="div">/</option>
                   </select>
               </td>
               <td><input type="text" id="opt2" placeholder="请输入数字"></td>
               <td><input type="submit" id="submit" value="计算"></td>
          </tr>
        </table>
        <span> 结果:</span>
        <span id="res"></span>
    </form>
</div>
<script>
    let data1=document.getElementById("opt1");
    let data2=document.getElementById("opt2");
    let button=document.getElementById('submit');
    let opt=document.getElementsByName('opt')[0];
    let all= document.getElementById('res');
    button.onclick=function ()
    {
        if (data1.value.length === 0)
        {
            alert('请输入第一个数值');
            data1.focus();
            return false;
        }
        if (isNaN(data1.value))
        {
            alert('第一个参数类型错误');
            data1.focus();
            return false;
        }
        if (data2.value.length === 0)
        {
                alert('请输入第二个数值');
                data2.focus();
            return false;
        }
         if (isNaN(data2.value))
         {
             alert('第二个参数类型错误');
             data2.focus();
             return false;
         }
         let res;
         let flag;

         switch (opt.value)
         {
             case 'add':
                 flag='+';
                 res=parseFloat(data1.value) + parseFloat(data2.value);
                 break;
             case 'sub':
                 flag='-';
                 res=parseFloat(data1.value) - parseFloat(data2.value);
                 break;
             case 'mul':
                 flag='*';
                 res=parseFloat(data1.value) * parseFloat(data2.value);
                 break;
             case 'div':
                 flag='/';
                 if (parseFloat(data2.value)===0)
                 {
                     alert('除数不能为0');
                     data2.value='';
                     data2.focus();
                     return false;
                 }
                 else
                     {
                         res=parseFloat(data1.value) / parseFloat(data2.value);
                         res=Math.round(res*100)/100;
                     }
                 break;
         }
         all.innerHTML=data1.value+flag + data2.value+'='+res;
         return false;
    }
</script>

</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例


批改状态:未批改

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学