JavaScript制作简易计算器(不用eval)
发布时间 - 2026-01-10 22:52:09 点击率:次本文实例为大家分享了js制作简易计算器的具体代码,供大家参考,具体内容如下
<head>
<meta charset="UTF-8">
<title>Title</title>
<style type="text/css">
* {
padding: 0;
margin: 0;
}
li {
list-style: none;
}
body {
background: #940032;
}
#counter {
width: 500px;
height: 420px;
background: #939;
margin: 50px auto 0;
position: relative;
}
#counter h2 {
line-height: 42px;
padding-left: 15px;
font-size: 14px;
font-family: arial;
color: #ff3333;
}
#counter a {
font-weight: normal;
text-decoration: none;
color: #ff3333;
}
#counter a:hover {
text-decoration: underline;
}
#bg {
width: 280px;
height: 200px;
border: 3px solid #680023;
background: #990033;
filter: alpha(opacity=80);
opacity: 0.8;
position: absolute;
left: 50%;
top: 115px;
margin-left: -141px;
}
#counter_content {
width: 250px;
position: absolute;
top: 130px;
left: 130px;
z-index: 1;
}
#counter_content h3 {
margin-bottom: 10px;
}
#counter_content h3 input {
border: none;
width: 223px;
height: 30px;
line-height: 30px;
padding: 0 10px;
background: url(img/ico.png) no-repeat;
text-align: right;
color: #333;
font-size: 14px;
font-weight: bold;
}
#counter_content div {
width: 250px;
}
#counter_content input {
width: 60px;
height: 30px;
line-height: 30px;
float: left;
background: url(img/ico.png) no-repeat -303px 0;
text-align: center;
color: #fff;
cursor: pointer;
margin: 0 1px 4px 0;
border: 0;
}
#counter_content div > input:hover {
background: url(img/ico.png) no-repeat -243px 0;
}
#counter p {
width: 500px;
position: absolute;
bottom: 20px;
left: 0;
color: #ff3333;
text-align: center;
font-size: 12px;
}
</style>
</head>
<body>
<div id="counter">
<h2>简易计算</h2>
<div id="counter_content">
<h3><input id="input1" type="text" value="0"/></h3>
<div id="div1">
<input type="button" value="7" onclick="kick('7')"/>
<input type="button" value="8" onclick="kick('8')"/>
<input type="button" value="9" onclick="kick('9')"/>
<input type="button" value="+" onclick="kick('+')"/>
<input type="button" value="4" onclick="kick('4')"/>
<input type="button" value="5" onclick="kick('5')"/>
<input type="button" value="6" onclick="kick('6')"/>
<input type="button" value="-" onclick="kick('-')"/>
<input type="button" value="1" onclick="kick('1')"/>
<input type="button" value="2" onclick="kick('2')"/>
<input type="button" value="3" onclick="kick('3')"/>
<input type="button" value="*" onclick="kick('*')"/>
<input type="button" value="0" onclick="kick('0')"/>
<input type="button" value="C" onclick="kick('C')"/>
<input type="button" value="=" onclick="kick('=')"/>
<input type="button" value="/" onclick="kick('/')"/>
</div>
</div>
</div>
</body>
<script>
var showInput = document.getElementById("input1");
var isClear = false;
var tempStr = "";
var clacType = "";
var isContinue = true;
function kick(clickValue) {
switch (clickValue) {
case "=":
if (tempStr != "" && clacType != "") {
showInput.value = clac(tempStr, showInput.value, clacType);
isContinue = false;
clacType = "";
}
break;
case "+":
case "-":
case "*":
case "/":
//如果预存的操作符不为空 表示表示连续操作
if (clacType != "" && !isContinue) { //先执行计算
tempStr = clac(tempStr, showInput.value, clacType);
isClear = true;
clacType = clickValue;
} else {
tempStr = showInput.value; //点击操作符之后 预存字符
isClear = true;//表示点击了操作符
clacType = clickValue;//预存操作符
}
isContinue = true;
break;
case "C":
showInput.value = "0";
isClear = false;
tempStr = "";
clacType = "";
break;
default://普通的数字按钮点击
showInput.value = showInput.value == "0" ? "" : showInput.value;
isContinue = false;
if (isClear) {
showInput.value = "";
showInput.value += clickValue;
isClear = false;
} else {
showInput.value += clickValue;
}
break;
}
}
function clac(num1, num2, type) {
switch (type) {
case "+":
return Number(num1) + Number(num2);
case "-":
return Number(num1) - Number(num2);
case "*":
return Number(num1) * Number(num2);
case "/":
return Number(num1) / Number(num2);
default:
break;
}
}
</script>
关于计算器的精彩文章请查看《计算器专题》 ,更多精彩等你来发现!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# js
# 计算器
# JavaScript简易计算器制作
# JS键盘版计算器的制作方法
# 原生JavaScript制作计算器
# 使用JSP制作一个超简单的网页计算器的实例分享
# node.js+express制作网页计算器
# JS制作简易计算器的实例代码
# 等你
# 大家分享
# 更多精彩
# 具体内容
# 请查看
# 大家多多
# 为空
# font
# left
# arial
# family
# size
# auto
# position
# line
# relative
# color
# solid
# border
# alpha
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】
魔方云NAT建站如何实现端口转发?
详解jQuery中的事件
如何选择PHP开源工具快速搭建网站?
油猴 教程,油猴搜脚本为什么会网页无法显示?
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
Bootstrap CSS布局之列表
高性能网站服务器配置指南:安全稳定与高效建站核心方案
JS碰撞运动实现方法详解
javascript中闭包概念与用法深入理解
UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】
Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)
jquery插件bootstrapValidator表单验证详解
使用spring连接及操作mongodb3.0实例
开心动漫网站制作软件下载,十分开心动画为何停播?
如何在七牛云存储上搭建网站并设置自定义域名?
PHP正则匹配日期和时间(时间戳转换)的实例代码
ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法
Python文件操作最佳实践_稳定性说明【指导】
无锡营销型网站制作公司,无锡网选车牌流程?
Python文件流缓冲机制_IO性能解析【教程】
如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】
Laravel怎么实现支付功能_Laravel集成支付宝微信支付
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
Java类加载基本过程详细介绍
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
如何用y主机助手快速搭建网站?
怎么用AI帮你为初创公司进行市场定位分析?
教你用AI将一段旋律扩展成一首完整的曲子
javascript中的数组方法有哪些_如何利用数组方法简化数据处理
Laravel定时任务怎么设置_Laravel Crontab调度器配置
谷歌Google入口永久地址_Google搜索引擎官网首页永久入口
Laravel Fortify是什么,和Jetstream有什么关系
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
,网页ppt怎么弄成自己的ppt?
高端网站建设与定制开发一站式解决方案 中企动力
js实现获取鼠标当前的位置
Python图片处理进阶教程_Pillow滤镜与图像增强
如何基于云服务器快速搭建网站及云盘系统?
三星网站视频制作教程下载,三星w23网页如何全屏?
Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程
如何在景安云服务器上绑定域名并配置虚拟主机?
Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能
如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环
WordPress 子目录安装中正确处理脚本路径的完整指南
免费视频制作网站,更新又快又好的免费电影网站?

