js制作简易计算器(-)

前言:初学js,老师要求做一个简易计算器,目前只实现了能够计算,很多约束没有有做,待完善。仅作为自己的学习记录。

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>简易计算器</title>
<link href="style/style.css" rel="stylesheet" type="text/css" />
<script src="js/calculator.js" type="text/javascript"></script>
</head>
<body>
<!--计算器-->
<div class="calculator" id="calculator">
    <div class="cal_topBar">.....</div>
    <div class="cal_header" >
      <!--设置窗口,使用onfocus="this.blur();"避免键盘输入-->
      <input type="text" value="0" class="res_box" onFocus="this.blur()" id="result"/>
      </div>

    <!--设置按钮-->
    <div class="cal_body" id="calcu-btn">
        <div style="height:1px;"></div>
        <table border="0" cellpadding="0" cellspacing="0">
            <tr>
                <td><a href="#" class="w_1 operator" onClick="command(NaN)">mc</a></td>
                <td><a href="#" class="w_1 operator" onClick="command(NaN)">m+</a></td>
                <td><a href="#" class="w_1 operator" onClick="command(NaN)">m-</a></td>
                <td><a href="#" class="w_1 operator" onClick="command(NaN)">mr</a></td>
            </tr>
            <tr>
              <td><a href="#" class="w_1" onClick="command(‘C‘)">C</a></td>
              <td><a href="#" class="w_1" onClick="command(1)">&plusmn;</a></td>
              <td><a href="#" class="w_1" onClick="command(‘÷‘)">&divide;</a></td>
              <td><a href="#" class="w_1" onClick="command(‘x‘)">&times;</a></td>
              </tr>
            <tr>
                <td><a href="#" class="w_1" onClick="command(7)">7</a></td>
                <td><a href="#" class="w_1" onClick="command(8)">8</a></td>
                <td><a href="#" class="w_1" onClick="command(9)">9</a></td>
                <td><a href="#" class="w_1" onClick="command(‘-‘)">-</a></td>
            </tr>
            <tr>
                <td><a href="#" class="w_1" onClick="command(4)">4</a></td>
                <td><a href="#" class="w_1" onClick="command(5)">5</a></td>
                <td><a href="#" class="w_1" onClick="command(6)">6</a></td>
                <td><a href="#" class="w_1" onClick="command(‘+‘)">+</a></td>
            </tr>
            <tr>
                <td><a href="#" class="w_1" onClick="command(1)">1</a></td>
                <td><a href="#" class="w_1" onClick="command(2)">2</a></td>
                <td><a href="#" class="w_1" onClick="command(3)">3</a></td>
                 <td rowspan="2">
                    <a href="#" class="w_3 etc" onClick="calc()">=</a>
                </td>
            </tr>
            <tr>
                <td colspan="2">
                    <a href="#" class="w_2 zero" onClick="command(0)">0</a>
                </td>
                <td><a href="#" class="w_1 spot" onClick="command(‘.‘)">.</a></td>
            </tr>
        </table>
    </div>
</div>
<script type="text/javascript">
//获取当前显示数据
function command(v){
    var res=document.getElementById("result").value;//获取当前显示的数据
    if(v==‘C‘){

        document.getElementById("result").value=0;//如果当前数值等于C则,显示为0

        }else if(res==0)
    {

        document.getElementById("result").value=v;//如果当前数值等于0,则不变
        }else{

            document.getElementById("result").value+=v;//否则给当前值追加
            }

    }
    //利用索引得到运算符位置
    function reindex(str)
        {
            if(str.indexOf(‘x‘)!=-1){
                return str.indexOf(‘x‘);
            }else if(str.indexOf(‘÷‘)!=-1){
                return str.indexOf(‘÷‘);
                }else if(str.indexOf(‘+‘)!=-1){
                    return str.indexOf(‘+‘);
                    }else if(str.indexOf(‘-‘)!=-1){
                    return str.indexOf(‘-‘);
                    }
        }

    //计算结果
    function calc(){
        var str= document.getElementById("result").value;
        var index=reindex(str);
        var num1=parseFloat(str.substr(0,index));
        var    num2=parseFloat(str.substr(index+1));

        if(str.indexOf(‘x‘)!=-1)
        {
            //乘法计算
            document.getElementById("result").value=num1*num2;
            //alert();
            }else if(str.indexOf(‘÷‘)!=-1){
                  //除法计算
                document.getElementById("result").value=num1/num2;
                }else if(str.indexOf(‘+‘)!=-1){
                  //加法计算
                document.getElementById("result").value=num1+num2;
                }else if(str.indexOf(‘-‘)!=-1){
                  //减法计算
                document.getElementById("result").value=num1-num2;
                }

        }

</script>
</body>
</html>

原文地址:https://www.cnblogs.com/jlfw/p/12571254.html

时间: 2024-11-07 04:36:09

js制作简易计算器(-)的相关文章

使用node.js制作简易爬虫

最近看了些node.js方面的知识,就像拿它来做些什么.因为自己喜欢摄影,经常上蜂鸟网,所以寻思了一下,干脆做个简单的爬虫来扒论坛的帖子. 直接上代码吧. 1 var sys = require("sys"), 2 http = require("http"), 3 fs = require("fs"); 4 var url = "http://newbbs.fengniao.com/forum/forum_125.html"

制作简易计算器封装类

Calculator.java: /** * @Title:Calculator.java * @Package:com.you.model * @Description:封装计算的数值类 * @author:Youhaidong(游海东) * @date:2014-6-15 下午10:40:34 * @version V1.0 */ package com.you.model; import java.io.Serializable; /** * 类功能说明 * 类修改者 修改日期 * 修改说

制作简易计算器处理结果Servlet

ResultServlet.java: package com.you.servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http

Xcode 制作简易计算器

#import "ViewController.h" #import "jsq.h" @interface ViewController () @property (weak, nonatomic) IBOutlet UILabel *label; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; jsqq = [[jsq alloc] init]; //初始

使用html+css+js实现简易计算器

使用html+css+js实现简易计算器, 效果图如下: html代码如下: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6

用js制作一个计算器

使用js制作计算器 <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus®"> <meta name="Author" content=""> <meta n

原生JS实现简易计算器

<!doctype html> <html> <head> <meta charset="utf-8"> <title>简易计算器</title> <style> #div{ width: 300px; height: 500px; background: #ccc; margin: auto; border: 1px solid red; } table{ width: 97%; height: 48

用VS制作简易计算器(WPF)

在VS中实现简易计算器的制作,最终实现计算器如下图所示: 窗口代码如下: <Window x:Class="我的简易计算器.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schema

js之简易计算器

####闲来无事,写点小东西给初学者,下面是一个简易的计算器,我们来看具体的代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>简易计算器</title> <style> div{ height: 100px; margin: 200px 350px; } </style> &