美文网首页让前端飞
js版计算器功能代码

js版计算器功能代码

作者: 2o壹9 | 来源:发表于2019-12-08 10:59 被阅读0次

HTML代码

<div id="btn">

    <input type="text" name="" id="view" value="0">

    <ul>

<li>±</li>

<li>(</li>

<li>)</li>

<li>+</li>

    </ul>

    <ul>

        <li>1</li>

        <li>2</li>

        <li>3</li>

        <li>-</li>

    </ul>

    <ul>

        <li>4</li>

        <li>5</li>

        <li>6</li>

        <li>*</li>

    </ul>

    <ul>

        <li>7</li>

        <li>8</li>

        <li>9</li>

        <li>/</li>

    </ul>

    <ul>

        <li>C</li>

        <li>0</li>

        <li>.</li>

        <li>=</li>

      </ul>

css样式代码

#view{

text-align: right;

padding: 0px 5px;

border-radius: 10px;

margin: 12px 7px;

width: 370px;

height: 75px;

border: 2px solid #ccc;

font-size: 2em;

color: #999;

outline: none;

}

div{border-radius: 20px;

width: 400px;

height: 580px;

background-color: rgb(125,185,222);

margin: 0 auto;

}

ul{

padding: 0px;

margin: 0px;

margin-left: 17px;

}

ul li{

font-weight: bold;

background-color: rgb(46,169,223);

font-size: 2em;

border-radius: 20px;

margin: 4px 4px 4px 4px;

line-height: 86px;

text-align: center;

width: 84px;

height: 84px;

list-style: none;

float: left;

box-shadow: 2px 2px 1px #555;

}

ul li:hover{

color: #fff;

background-color: rgb(106,76,156);

box-shadow: -2px -2px 1px #555;

}

JS代码

window.onload = function(){//浏览器加载完毕时执行

clickBtn();

}

var i = 1;//约束小数点

var j = 1;//约束左括号

var k = 1;//约束右括号

function clickBtn(){//单击按钮

if(!document.getElementById) return false;

if(!document.getElementsByTagName) return false;

if(!document.getElementById("view")) return false;

var li = document.getElementsByTagName("li");//获取按钮元素节点

for(var i=0;i<li.length;i++){

li[i].onclick = function(){//单击相应按钮

keyClick(this);

}

}

}

var shu = "";//定义一个字符串

function xianshi(name){

if(!document.getElementById) return false;

var view = document.getElementById("view");

// alert(view.value.charAt(view.value.length-1));

shu += name;//进行字符串拼接

view.value = shu;//显示

}

function yunsuan(){

if(!document.getElementById) return false;

var view = document.getElementById("view");

var jieguo = eval(view.value);

/*eval 函数允许 JScript 源代码的动态执行。

eval("var mydate = new Date();");

  slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。

用于删除单个字符  view.value.slice(0,view.vlaue.length-1);

*/

view.value = jieguo;//显示结果

shu = jieguo;//将结果值存到变量中

}

function qingping(){

if(!document.getElementById) return false;

var view = document.getElementById("view");

view.value = "0";//显示0

shu = "";//并将字符串清空

}

function keyClick(li){//对每个按钮进行处理

if(!document.getElementById) return false;

var view = document.getElementById("view");//获取显示

if(li.firstChild.nodeValue=="C"){//如果单击"C"

i=1;

qingping();//进行清屏操作

}else if(li.firstChild.nodeValue=="±"){//单击±按钮执行操作

if(isNaN(view.value)){

//什么都不执行

}else{

view.value = 0 - view.value;

}

}else if(li.firstChild.nodeValue=="0"){//单击0执行操作

if(view.value=="0"){

//什么都不执行

}else{

xianshi(li.firstChild.nodeValue);

}

}else if(li.firstChild.nodeValue==")"){//单击)执行操作

if(view.value.charAt(view.value.length-1)=="+"){

xianshi("0"+li.firstChild.nodeValue);

}else{

xianshi(li.firstChild.nodeValue);

}

}else if(li.firstChild.nodeValue=="."){//单击.执行操作

/*var ss = document.getElementById("input");

var n = ss.value.indexOf(".");

if(n>0){alert('只能输入一位数小数点');*/

/*

charAt() 返回在指定位置的字符。*/

if(i==0){

//什么都不执行

}else{

i=0;

if(view.value == 0||view.value.charAt(view.value.length-1)=="+"||view.value.charAt(view.value.length-1)=="-"||view.value.charAt(view.value.length-1)=="*"||view.value.charAt(view.value.length-1)=="/"){

xianshi("0.");

}else{

xianshi(li.firstChild.nodeValue);

}

}

// this.firstChild.nodeValue.match(".")

}else if(li.firstChild.nodeValue=="+"||li.firstChild.nodeValue=="-"||li.firstChild.nodeValue=="*"||li.firstChild.nodeValue=="/"){//单击运算符号执行操作

if(view.value == 0||view.value.charAt(view.value.length-1)=="("){

i=1;

xianshi("0"+li.firstChild.nodeValue);

}else{

if(view.value.charAt(view.value.length-1)=="+"||view.value.charAt(view.value.length-1)=="-"||view.value.charAt(view.value.length-1)=="*"||view.value.charAt(view.value.length-1)=="/"){

//什么都不执行

}else{

i=1;

xianshi(li.firstChild.nodeValue);

}

}

}else if(li.firstChild.nodeValue=="="){//单击等号执行操作

yunsuan();//进行运算

}else{//单击数字按钮执行操作

xianshi(li.firstChild.nodeValue);//单击按钮进行显示

}

}

相关文章

  • js版计算器功能代码

    HTML代码 ± ( ) + 1 2 3 - ...

  • 网页版 TCID50计算器

    网页版 TCID50计算器引用了 JQuery js库 界面如下: html代码如下:

  • JavaScript开发小型计算器

    页面采用CSS3弹性盒子布局,JS采用eval()函数,只需几行代码就已完成计算器功能。以下是源码:HTML部分:...

  • JavaScript制作简单计算器

    JavaScript经典小项目——制作简单的计算器功能使用JS完成一个简单的计算器 功能。实现2个输入框中输入整...

  • 房贷计算器

    最近房产版升级,需要重新制作房贷计算器的功能,主要参考了 房天下房贷计算器和安居客房贷计算器,两大平台的计算器。 ...

  • JS小计算器和日期的图文写法

    一,计算器效果: HTML代码:(先布局静态页面) JS代码部分:(先找到其元素----再实现点击事件) 1.找到...

  • JS版base64获取&&canvas版

    1. JS版base64获取 html代码 JS代码 解释: var myFile = document.getE...

  • oc直接执行js代码(不使用webview)

    我们项目有个计算器类型的需求,前端已经用js代码写好了逻辑,app只需要调用js代码就可以了,但是页面并不是htm...

  • 简单计算器---练手

    在学js的过程中用eval方法写了一个简单的计算器,本来想模仿Google的计算器,可是发现不太会,就只把简易版实...

  • Swift封装 - 计算器开发

    前言: 师弟要毕业设计,就敲了swift版的计算器给他参考下。现在把代码放上来,通过这个计算器,可以学习简单的封装...

网友评论

    本文标题:js版计算器功能代码

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