js 实现的简易计算器
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<!-- <meata charset='utf-8'> -->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><!--解决火狐浏览器中文乱码问题-->
<title></title>
<style type="text/css">
button {
height: 50px;
width: 50px;
}
ul {
list-style: none;
width: 150px;
}
li {
float: left;
}
div {
width: 150px;
height: 100px;
line-height: 100px;
text-align: center;
background-color: yellow;
}
</style>
</head>
<body>
<ul>
<li><button id='1' onclick="getText(this)"> 1</button></li>
<li><button id='1' onclick="getText(this)"> 2</button></li>
<li><button id='1' onclick="getText(this)"> 3</button></li>
<li><button id='1' onclick="getText(this)"> 4</button></li>
<li><button id='1' onclick="getText(this)"> 5</button></li>
<li><button id='1' onclick="getText(this)"> 6</button></li>
<li><button id='1' onclick="getText(this)"> 7</button></li>
<li><button id='1' onclick="getText(this)"> 8</button></li>
<li><button id='1' onclick="getText(this)"> 9</button></li>
<li><button id='1' onclick="getText(this)"> 0</button></li>
<li><button id='1' onclick="getText(this)"> +</button></li>
<li><button id='1' onclick="getText(this)"> -</button></li>
<li><button id='1' onclick="getText(this)"> *</button></li>
<li><button id='1' onclick="getText(this)"> /</button></li>
<li><button id='1' onclick="getText(this)"> =</button></li>
</ul>
<ul>
<li><div id='showText' style="font-size: 12px;">不支持负数</div></li>
</ul>
<script type="text/javascript" charset="utf-8">
var sum_1='';
var sum_2='';
var oper='';//加减乘除
var sign=false;
var showMsg='';
var num=false;
var div_ele=document.getElementById('showText');
function getText(obj){
var tagText=obj.innerHTML;
tagText=tagText.replace(' ','');//剔除空格
if (tagText != "="){
this.showMsg=this.showMsg.replace('undefined','');
this.showMsg+=tagText;
div_ele.innerHTML=this.showMsg;
}
switch(tagText)
{
case '-':isOper(tagText);break;
case '+':isOper(tagText);break;
case '/':isOper(tagText);break;
case '*':isOper(tagText);break;
case '=':operation(this.oper);break;
default:inputAdd(tagText,this.sign);
}
}
// if(isNaN(this.num_2) || isNaN(this.num_1)){
// div_ele.innerHTML='计算 你妹看清楚再点!';
// initConfig();
// return '';
// }
//计算
function operation(oper)
{
// if (this.num_1=='' && this.num){
// this.num_1=this.num;
// alert('复合条件');
// }
switch(oper)
{
case '-':subtraction();break;
case '+':addition();break;
case '/':division();break;
case '*':multiplication();break;
}
}
//检测用户是不是已经单击过 加减乘除了
function isOper(str)
{
// alert(this.num_1.length);
if (this.oper=='')
{
this.oper=str;
this.sign=true;
}
else
{
div_ele.innerHTML='你妹看清楚再点!';
initConfig();
}
}
//字符串的拼接
function inputAdd(num,sign){
if (!sign)
{
this.num_1=this.num_1+num;
}
else
{
this.num_2=this.num_2+num
}
}
function typeTran(){
this.num_1=this.num_1.replace('undefined','');
this.num_2=this.num_2.replace('undefined','');
}
//加法
function addition(){
typeTran();
// this.num=(Number(this.num_2)+Number(this.num_1));
this.div_ele.innerHTML=(Number(this.num_2)+Number(this.num_1));
initConfig();
}
//减法
function subtraction(){
typeTran();
this.div_ele.innerHTML=(Number(this.num_1)-Number(this.num_2));
initConfig()
}
//除法
function division(){
typeTran();
this.div_ele.innerHTML=(Number(this.num_1)/Number(this.num_2));
initConfig()
}
//乘法
function multiplication(){
typeTran();
this.div_ele.innerHTML=(Number(this.num_1)*Number(this.num_2));
initConfig()
}
function initConfig(){
this.oper=''
this.num_1='';
this.num_2='';
this.showMsg='';
this.sign=false;
// div_ele.innerHTML='美女你好!';
}
</script>
</body>
</html>
js 实现的简易计算器的更多相关文章
- js小效果-简易计算器
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8" ...
- 使用html+css+js实现简易计算器
使用html+css+js实现简易计算器, 效果图如下: html代码如下: <!DOCTYPE html> <html lang="en"> <he ...
- 用js制作简易计算器及猜随机数字游戏
<!doctype html><html><head> <meta charset="utf-8"> <title>JS ...
- 项目:JS实现简易计算器案例
组件化网页开发下的: 步骤一:让页面动起来的JavaScript深入讲解 的 项目:JS实现简易计算器案例
- 原生JS实现简易计算器
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- JS简易计算器的实现,以及代码的优化
用JS实现简易计算器 首先创建结构和样式 <!DOCTYPE html> <html lang="en"> <head> <meta ch ...
- js之简易计算器
<!DOCTYPE html PUBLIC "-//W3C//Dli XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- JS编写简易计算器
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/html"> <head lang=" ...
- JS实现简易计算器的7种方法
先放图(好吧比较挫) 方法一:最容易版 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta ...
随机推荐
- ARP工作过程、ARP欺骗的原理和现象、如何防范ARP欺骗
地址解析协议(Address Resolution Protocol,ARP)是在仅知道主机的IP地址时确定其物理地址的一种协议. 下面假设在一个局域网内,主机A要向主机B发送IP数据报. ARP ...
- flume 详细介绍
http://blog.csdn.net/a2011480169/article/details/51544664 配有详细的例子. http://www.cnblogs.com/gongxijun/ ...
- [图解tensorflow源码] 入门准备工作附常用的矩阵计算工具[转]
[图解tensorflow源码] 入门准备工作 附常用的矩阵计算工具[转] Link: https://www.cnblogs.com/yao62995/p/5773142.html tensorf ...
- 学JS的心路历程-函式(五)箭头函式
箭头函式arrow function 为了能够以更简短的方式建立函式,ES6变推出了箭头函式. 用说明的可能会不太懂,我们先拿之前的数组排序例子来看: var arr = [2,1,6,12,3,77 ...
- CMake Error at cmake/OpenCVUtils.cmake
CMake Error at cmake/OpenCVUtils.cmake:1047 (message): Failed to download . Status= Call Stack (most ...
- spring boot 代理(not eligible for auto-proxying)
spring 事务机制网上的案例很多,关于事务 不能回滚也有很多的类型,不同的问题有不同的处理方案,本篇博客主要介绍两种事务不能回滚的问题解决方案: 问题一: 在同一个对象中有两个方法,分别未方 ...
- 游戏编程模式KeyNote
[游戏编程模式KeyNote] 1.命令模式. 重做在游戏中并不常见,但重放常见.一种简单的重放实现是记录游戏每帧的状态,这样它可以回放,但那会消耗太多的内存.相反,很多游戏记录每个实体每帧运行的命令 ...
- 关于订单BOM替换组件不成功的问题
替换成功的案例: SELECT * FROM IN_BOM_DETAILS WHERE BOM_ID='00161815_2023_01P19'; --成品编码:000000101011006433P ...
- linux 根据服务名称批量杀死进程
ps -ef |grep python |awk '{print $2}'|xargs kill -9
- shell重定向命令执行顺序
重定向内容介绍 一条shell命令的执行包含三个文件描述符:标准输入(键盘等) stdin 0,标准正确输出(屏幕等) stdout 1,标准错误输出(屏幕等)stderr 2 通过重定向可以指定 ...