JavaScript+HTML,简单的计算器实现
成功进化到程序猿快一年多了, 还没写过计算器, 正好今天比较闲,随手写了个计算器,最简单的实现,核心是eval()方法,把字符串作为JS代码处理,把输入的信息拼接成字符串,点等号执行代码得到结果,出异常弹窗提示
只用了几十行JS代码,感觉还可以精简 , 我是一只追求简洁的程序猿
@author beiguapipi 1//存储算式
var all="";
//添加字符串到式子
function add(obj){
if(document.getElementById("jieguo").innerHTML){
window.location.reload();
}else{
all = all+obj.value;
document.getElementById("jisuan").innerHTML=all;
}
}
//删除一个最后的字符
function del(){
if(all.length>0){
all= all.substr(0 ,all.length-1)
document.getElementById("jisuan").innerHTML=all;
}
}
//计算
function jisuan(){
try{
//将字符串作为JS代码处理
var num = eval(all);
if(isNaN(num)){
//如果出异常了,新建异常信息
var e = new Error();
e.message="输入式子不合法";
throw e;
}else{
if(num=="Infinity"||num=="-Infinity"){
alert("运算中分母不能为零")
window.location.reload();
}else{
document.getElementById("jieguo").innerHTML=num;
}
}
}catch(e){
//输出异常信息,刷新页面
alert(e)
window.location.reload();
}
}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>简单计算器</title>
<link type="text/css" rel="stylesheet" href="css.css">
<script type="text/javascript" src="control.js" charset="utf-8"></script>
</head>
<body>
<div id="body">
<div id="title">
<span id="sp">简单计算器</span>
</div>
<div id="area">
<div id="top">
<span id="jisuan"></span>
</div>
<div id="mid">
计算结果:<span id="jieguo"></span>
</div>
<div id="button">
<br>
<input onclick="reflush()" id="clear" class="but" type="button" value="清空">
<input onclick="del()" id="del" class="but" type="button" value="退格">
<input onclick="add(this)" class="but" type="button" value="/">
<input onclick="add(this)" class="but" type="button" value="*"><br><br>
<input onclick="add(this)" class="but" type="button" value="1">
<input onclick="add(this)" class="but" type="button" value="2">
<input onclick="add(this)" class="but" type="button" value="3">
<input onclick="add(this)" class="but" type="button" value="-"><br><br>
<input onclick="add(this)" class="but" type="button" value="4">
<input onclick="add(this)" class="but" type="button" value="5">
<input onclick="add(this)" class="but" type="button" value="6">
<input onclick="add(this)" class="but" type="button" value="+"><br><br>
<input onclick="add(this)" class="but" type="button" value="7">
<input onclick="add(this)" class="but" type="button" value="8">
<input onclick="add(this)" class="but" type="button" value="9"><br><br>
<input onclick="add(this)" id="num_0" class="but" type="button" value="0">
<input onclick="add(this)" class="but" type="button" value="."><br>
<input onclick="jisuan()" id="num_deng" class="but" type="button" value="=">
<input onclick="add(this)" class="but" type="button" value="(">
<input onclick="add(this)" class="but" type="button" value=")">
</div>
</div>
</div>
</body>
</html>
CSS代码
@CHARSET "UTF-8";@CHARSET "UTF-8";
*{
margin: 0px;
padding: 0px;
}
#body{
margin: auto;
margin-top:10px;
width: 450px;
height: 600px;
border: solid 5px rgb(241,241,241);
background:rgb(255,255,225);
}
#title{
width: 400px;
height: 50px;
position: relative;
left:25%;
}
#sp{
font-size: 1cm;
font-style: oblique;
}
#area{
width: 450px;
height: 550px;
border: solid 1px rgb(0,115,0);
float: left;
}
#top{
width: 400px;
height: 35px;
border: solid 3px rgb(200,225,225);
float: left;
position: relative;
left:20px;
top:15px;
font-size: 25px;
background-color: rgb(255,255,255)
}
#jisuan{
float: right;
}
#mid{
width: 400px;
height: 35px;
border: solid 3px rgb(200,225,225);
float: left;
position: relative;
left:20px;
top:30px;
font-size: 25px;
background-color: rgb(255,255,255)
}
#jieguo{
width: 270px;
height: 35px;
border: solid 1px rgb(200,225,225);
float: right;
}
#button{
width: 400px;
height: 400px;
border: solid 3px rgb(200,225,225);
float: left;
position: relative;
left:20px;
top:50px;
}
.but{
width: 90px;
height: 45px;
position: relative;
left:10px;
}
#num_0{
width: 187px;
}
#num_deng{
height: 108px;
position: relative;
left:302px;
top:-108px;
}
input{
font-size: 25px;
}
JavaScript+HTML,简单的计算器实现的更多相关文章
- 用JavaScript制作简单的计算器
<html > <head> <title>简单计算器</title> <style type="text/css"> ...
- jQuery/javascript实现简单网页计算器
<html> <head> <meta charset="utf-8"> <title>jQuery实现</title> ...
- 利用css和javascript实现简单的计算器
<!doctype html> <html> <head> <!--声明当前页面的编码集--> <meta http-equiv="Co ...
- JAVASCRIPT实现简单计算器
最终效果如下图-2,有bug:就是整数后点击%号结果正确,如果小数后面点击%的话结果就错误!其他都正常,求指点:input的value是string类型的,在JS中改如何正确处理下图-1中的if部分? ...
- javascript 简单的计算器
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx. ...
- js制作简单的计算器
学着做了一个简单的计算器!记录记录!哈哈 <!DOCTYPE html> <html> <head> <title>简单的计算器</title&g ...
- JS实现一个简单的计算器
使用JS完成一个简单的计算器功能.实现2个输入框中输入整数后,点击第三个输入框能给出2个整数的加减乘除.效果如上: 第一步: 创建构建运算函数count(). 第二步: 获取两个输入框中的值和获取选择 ...
- Java简单公式计算器
最近给公司开发业务代码时,碰到一个场景,简单描述是这样的: 客户要向咱们公司定制一件产品,这个产品呢,有很多属性,那公司得根据这些属性报价呀,怎么报价呢?公司针对某种类型的产品有一个基准价,在同类产品 ...
- JS事件 编程练习-自制计算器 使用JS完成一个简单的计算器功能。实现2个输入框中输入整数后,点击第三个输入框能给出2个整数的加减乘除。
编程练习 使用JS完成一个简单的计算器功能.实现2个输入框中输入整数后,点击第三个输入框能给出2个整数的加减乘除. 提示:获取元素的值设置和获取方法为:例:赋值:document.getElement ...
随机推荐
- ios 重签名
http://stackoverflow.com/questions/6569120/resigning-an-application-outside-xcode #!/bin/sh TEMPDIR= ...
- 面试复习(C++)之希尔排序
#include<iostream> using namespace std; void Shellsort(int *a,int len) { int gap; ;gap>;gap ...
- android学习之ListView
移通152余继彪 该组件用于显示列表的view 包含了三个关键元素 listView 适配器 以及数据,适配器主要是用于将数据映射到listview,适配器数据主要是有hasmap 配合list对每 ...
- [小菜随笔]新手使用appium+python进行自动化测试过程中webdriver.Remote报错的错误分析方法(带实例)
很多人刚开始使用python+appium去执行APP自动化的时候经常会遇到webdriver.Remote,报错位置指向都是driver = webdriver.Remote('http://127 ...
- 如何使用.NET开发全版本支持的Outlook插件产品(二)——完善插件
插件项目所有代码都已经上传至 https://github.com/VanPan/TestOutlookAdding 勿在浮砂筑高台--定位错误 在介绍后面的插件开发技术之前,让我们先来看看已经达到的 ...
- iOS UITableView 引起的崩溃问题
其实 UITableView 应该是在iOS开发中使用最频繁的一个控件,一次同事之间聊天玩笑的说“一个页面,要是没使用UITableView,就好像称不上是一个页面”.虽然是个最常见的控件,但是他的强 ...
- Activity中获取当前Fragment 中的子控件
XXXAdapter中 增加 public Fragment currentFragment; @Override public void setPrimaryItem(ViewGroup conta ...
- Birt使用总结
把report放到其他服务器要重新建立Data Source ,这是配置,拷贝项目时不会同时拷贝 (1)在EXTJs中利用Report实现报表的刷新 Ext.getCmp("showview ...
- c/c++面试题(9)linux方向
1.简述用虚函数实现的多态的原理: 编译器发现一个类中有虚函数的时候,便会立即为此类生成虚函数表vtable.虚函数表的各 表项为指向对应虚函数的指针.编译器还会在此类中隐含插入一个指针vptr(对v ...
- 错误:媒体集有 2 个媒体簇,但只提供了 1 个 sql2005 备份错误。
错误:媒体集有 2 个媒体簇,但只提供了 1 个 sql2005 2010-10-19 11:44:06| 分类: sql|举报|字号 订阅 ql2005备份的时候,选择备份路径是一方面,但 ...