美文网首页
2018-11-10

2018-11-10

作者: 白羽之鹰 | 来源:发表于2018-11-10 21:33 被阅读0次

简单计算器(JavaScript实现)

功能比较简单,还需完善。

效果:


HTML部分:

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title></title>

<link rel="stylesheet" href="css/calculator.css" />

<script type="text/javascript" src="js/calculator.js" ></script>

</head>

<body>

<div class="box">

<input type="text" value="0" id="show"/>

<div class="first">

<button class="bcolorr">1</button> <button class="bcolorr">2</button> <button class="bcolorr">3</button> <button>/</button>

</div>

<div class="first">

<button class="bcolorr">4</button> <button class="bcolorr">5</button> <button class="bcolorr">6</button> <button>x</button>

</div>

<div class="first">

<button class="bcolorr">7</button> <button class="bcolorr">8</button> <button class="bcolorr">9</button> <button>-</button>

</div>

<div class="first">

<button class="bcolorr">0</button> <button>C</button> <button>=</button> <button>+</button>

</div>

</div>

</body>

</html>

CSS部分:

.box{

border: 2px solid gray;

width: 450px;

height: 600px;

margin: auto auto;

border-radius: 10px;

}

input{

height: 200px;

width: 420px;

background-color: darkseagreen;

margin:auto auto;

margin-top: 10px;

position: relative;

top: 0px;

left: 15px;

font-size: 35px;

}

button{

background-color: orange;

padding: 20px  30px 20px 30px;

margin: 10px 30px 10px 0px;

font-size: 20px;

}

.first{

position: relative;

top: 0px;

left: 24px;

}

.bcolorr{

background-color: gray;

}

button:hover{

cursor: pointer;

box-shadow: 5px 5px 2px black;

}

button:active {

    box-shadow: 0 0 5px 5px dodgerblue;

}

JavaScript部分:

window.onload=function(){

var btn=document.getElementsByTagName('button');

var needClear=false;

var oshow=document.getElementById("show");

var number1="";

var operator="";

Array.prototype.forEach.call(btn,function(el){

console.log(el);/*el表示每一次访问的元素是谁,遍历所有按钮*/

el.onclick=doinput;

});

function doinput(){

var html=this.innerHTML;/*获取点击按钮的内容*/

switch(html)

{

case "=":

oshow.value=calc(number1*1,oshow.value*1,operator);

needClear=false;

break;

case "C":oshow.value=0;

needClear=false;//todo//

break;

case "+"://todo//

case "-"://todo//

case "x"://todo//

case "/"://todo//

if(number1.length!=0)

{

oshow.value=calc(number1*1,oshow.value*1,operator);

}

operator=html;//保存运算符

number1=oshow.value;//保存第一个运算数字

needClear=false;

break;

default://todo needClear bool值为true时执行

if(needClear){

oshow.value+=html;//拼接

}

else{

oshow.value=html;//替换

needClear=true;//替换完成后又变为true,然后执行拼接

}

break;

}

}

function calc(number1,number2,operator){

var result=0;//结果

switch (operator)

{

case "+":result=number1+number2;

break;

case "-":result=number1-number2;

break;

case "x":result=number1*number2;

break;

case "/":result=number1/number2;

break;

default:result=number2;

break;

}

return result;

}

}

相关文章

  • 纪念华南师范大学85周年校庆

    2018-11-10号

  • 2018-11-18

    2018-11-10 颖_967e 字数 198 · 阅读 0 2018-11-10 09:10 11月10日,早...

  • 2018-11-11

    2018-11-10 张正强 2018-11-10 姓名:张正强 公司:江阴嘉鸿橡塑科技有限公司 【日精进打卡第️...

  • 从项目中学习HTML+CSS

    title:tags: [HTML, CSS, Web开发]date: 2018-11-10 10:51:51ca...

  • opencv画圆

    转载 Python 用 OpenCV 画点和圆 (2) 2018-11-10 21:20:21 AlanWang4...

  • 今日分享

    焦点网络初级11期(信阳)刘鸿梅 2018-11-10 坚持分享第95天

  • 快乐小论

    时间:2018-11-10 14:06 ---------引自作者:梁毅 【快乐小论】快乐是指愉悦的心情,高兴...

  • 高效能慢生活践行320天(偶遇)

    高效能慢生活践行320天(偶遇) 2018-11-10 (周六) ❤️偶遇高中老师,回首彼岸,纵然发现光景绵长。 ...

  • 2018-11-11 - 草稿 - 草稿 - 草稿

    2018-11-10 戍边情 一九七二年岁末,我如愿穿上了梦寐以求的军装,怀着激动...

  • 2018-11-29

    第八篇:爱睡觉的爸爸 庞芸熙(修改稿) 2018-11-10 18:47 · 字数 289 · 阅读 7 · 日记...

网友评论

      本文标题:2018-11-10

      本文链接:https://www.haomeiwen.com/subject/qletfqtx.html