js案例:1.简单计算器

news2024/11/17 19:39:04

目录

一.效果图

二.实现思路 

整体思路 ​

1.关键是dom操作 ​  

2.设置点击事件 

3.数据类型的隐式转换和赋值

三.完整代码 


一.效果图

 

二.实现思路 

整体思路 

1.关键是dom操作 

通过 document.getElementById('id') 获取html中的dom元素

每一个html标签都是一个对象,称为dom对象,每一个标签的属性也是一个对象的属性

设置对象属性的值 obj.属性值 = 'aa'; 获取对象属性的值 obj.属性名

每一个html标签都有style标签,因此可以使用js 操作style,’

如果设置stylr属性,则给标签行间添加一个style属性

2.设置点击事件 

//  给按钮设置点击事件 cum是按钮 ,设置点击事件会用到一些函数的内容

    cum.onclick = function () {

}

3.数据类型的隐式转换和赋值 

//使用隐式转换- ,把获取的数值转化为number类型,不转换默认是string字符串类型,无法进行下一步运算

let v1 = su1.value-0;

let v2 = su2.value-0;

//使用if语句判断选择的运算符号,并把运算结果赋值给相关的输出框

// 获取运算符

        let actVal = act.value;

        if (actVal == '+') {

            su3.value = v1 + v2;

        }

三.完整代码 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>练习</title>
</head>
<body>
    <h2>换算</h2>
    <input type="number" name="" id="curry" value="">
    <button id="bth">计算</button>

    <h2>计算器</h2>
    <input type="number" value="" id="su1">
    <select name="" id="act">
        <option value="+">+</option>
        <option value="-">-</option>
        <option value="*">x</option>
        <option value="/">÷</option>
    </select>
    <input type="number" value="" id="su2">
    <button id="eq">=</button>
    <input type="number" value="" id="su3">

</body>
</html>
<script>
    //获取输入人民币的input
     let rmd = document.getElementById('curry');
     //获取点击计算的按钮
     let cum = document.getElementById('bth');
     console.log(rmd.value);
     let v0 = rmd.value - 0;
    //  给按钮设置点击事件
    cum.onclick = function () {
        //从新获取用户输入的值,并且隐式转化为number类型
        let v1 = rmd.value-0;
        //100的张数
        let num1 = parseInt(v1/100);
    //    出去100元剩余的金额 ,456 余数为56,查看余数56中有
    // 多少张50面值
        let yu1 = v1%100;

        // 50的张数
        let num2 = parseInt(yu1/50);

        let yu2 = yu1%50;

        let num3 = parseInt(yu2/20);
        let yu3 = yu2%20;
        let num4 = parseInt(yu3/10);
        let yu4 = yu3%10;
        let num5 = parseInt(yu3/5);
        let yu5 = yu4%5;
        

        alert(num1 +'张100元'+num2+'张50元'+ num3+'张20元'+ num4+'张10元'+ num5+'张5元'+ yu5+'张1元');
    }

    // 获取dom元素
    let su1 = document.getElementById('su1');
    let su2 = document.getElementById('su2');
    let su3 = document.getElementById('su3');
    let act = document.getElementById('act');
    let eq = document.getElementById('eq');
     
    // 点击等号
    eq.onclick = function () {
        let v1 = su1.value-0;
        let v2 = su2.value-0;
        // 获取运算符
        let actVal = act.value;
        if (actVal == '+') {
            su3.value = v1 + v2;
        }
        if (actVal == '-') {
            su3.value = v1 - v2;
        }
        if (actVal == '*') {
            su3.value = v1 * v2;
        }
        if (actVal == '/') {
            su3.value = v1 / v2;
        }
    };

</script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/852797.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何用看板让你的项目管理更上一层楼

项目管理的核心挑战 项目管理始终是一个充满挑战的领域。在多变的环境中&#xff0c;管理一个项目并确保其成功完成是一项巨大的任务。那么&#xff0c;为什么项目管理会如此复杂呢&#xff1f; 概述项目的复杂性 每一个项目都有其独特性&#xff0c;无论是项目的规模、团队…

centos 7 系统上重启 mysql 时报错 Failed to restart mysqld.service: Unit not found.

在 centos 7 系统上&#xff0c;使用常规命令&#xff1a;systemctl restart mysql 或 service mysqld restart 重启 mysql 时都会报如下错误&#xff1a; Failed to start mysqld.service: Unit not found. 根据所报错误&#xff0c;在网上搜罗了一圈&#xff0c;未果&#x…

跨境电商B2B2C多用户商城快速搭建(java开源+多语言)

跨境电商已经成为一种重要的商业模式。在跨境电商领域&#xff0c;B2B2C多用户商城是一种常见的商业模式&#xff0c;即面向商家和终端消费者的电商模式。这种模式下&#xff0c;多个商家可以在同一个电商平台上销售商品&#xff0c;终端消费者可以在该平台上购买商品。具体搭建…

【图像去噪的扩散滤波】基于线性扩散滤波、边缘增强线性和非线性各向异性滤波的图像去噪研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

React 入门学习

React 入门 一、基本认识1.1、前言1.2、什么是1.3、编译<br>1.4、特点1.5、高效 二、React环境和基本使用2.1、环境搭建2.2、脚手架项目基本使用2.2.1、src2.2.2、public2.2.3、package.json 三、JSX的理解和使用四、模块与模块化, 组件与组件化的理解4.1、模块与组件4.2…

自定义类型——枚举

枚举 1.枚举的定义 枚举顾名思义就是一一列举。将可能的取值一一列举。 比如我们现实生活中&#xff1a; 一周的星期一到星期日是有限的7天&#xff0c;可以一一列举。性别有&#xff1a;男、女、也可以一一列举。月份有12个月&#xff0c;也可以一一列举 像在这些场景中就可…

【数据结构】——栈、队列的相关习题

目录 题型一&#xff08;栈与队列的基本概念&#xff09;题型二&#xff08;栈与队列的综合&#xff09;题型三&#xff08;循环队列的判空与判满&#xff09;题型四&#xff08;循环链表表示队列&#xff09;题型五&#xff08;循环列表的入队和出队&#xff09; 题型一&#…

浅谈对属性描述符__get__、__set__、__delete__的理解

1、属性描述符的基础介绍 1.1 何为属性描述符&#xff1f; 属性描述符是一种Python语言中的特殊对象&#xff0c;用于定义和控制类属性的行为。属性描述符可以通过定义__get__、__set__、__delete__方法来控制属性的读取、赋值和删除操作。 通过使用属性描述符&#xff0c;可…

2.4G芯片做遥控颈部按摩器方案

颈部按摩器很受上班族的欢迎&#xff0c;具有仿真人揉捏按摩效果&#xff0c;多单位力度调节&#xff0c;舒缓因长时间工作紧绷的的肌肉。主控芯片使用宇凡微的2.4g合封芯片。 一、颈部按摩器方案介绍 颈部按摩器方案的工作原理&#xff0c;主要采用电机驱动按摩触头&#xff0…

3.5 C++ 纯虚函数、抽象类 3.6 依赖倒转原则

纯虚函数 class A { public:virtual void print(){cout<<"A"<<endl;}virtual void test()0; //纯虚函数 }; 一个类内有纯虚函数&#xff0c;这个类就叫抽象类&#xff1b; 抽象类不能实例化&#xff1b; <java、python&#xff1a…

掌握最新的测评补单技术,了解速卖通、虾皮平台的风控机制

想要销量好&#xff0c;免不了要进行测评补单的&#xff0c;因为不管对于哪一个平台的新店铺新产品而言&#xff0c;前期只靠自然流量是很难的&#xff0c;速卖通平台也一样&#xff01;那么速卖通平台要如何进行测评补单呢&#xff1f; 市面上有许多不同的测评系统&#xff0c…

uniapp调查问卷评价功能

我本来用的是uniapp官方提供的组件uni-rate组件&#xff0c;但修改成我想要的样式有点麻烦&#xff0c;于是我就自己手写一个&#xff0c;比用组件简单一点&#xff1b; dom结构 <text class"formTit must">请您对本次活动进行评价</text> <view cl…

【word密码】word设置只读,如何取消?

Word文件打开之后发现是只读模式&#xff0c;那么我们如何取消word文档的只读模式呢&#xff1f;今天给大家介绍几种只读模式的取消方法。 属性只读 有些文件可能是在文件属性中添加了只读属性&#xff0c;这种情况&#xff0c;我们只需要点击文件&#xff0c;再次查看文件属…

爬虫012_字典高级操作_查询_修改_添加_删除和清空_遍历---python工作笔记031

然后来看字典高级,首先 打印某个元素 然后打印的时候注意,如果直接打印的值,在字典中没有就报错 这里要注意不能用点访问

集合工具类 Collections:提升集合操作效率

文章目录 多元素添加&#xff1a;addAll 方法随机置换&#xff1a;shuffle 方法自定义对象排序&#xff1a;sort 方法总结 在Java的集合框架中&#xff0c;Collections 是一个包含了许多操作集合的静态方法的工具类。通过使用 Collections 类提供的方法&#xff0c;我们能够更加…

SDU Crypto School - 计算不可区分性1

Encryption: Computational security 1-4 主讲人&#xff1a;李增鹏&#xff08;山东大学&#xff09; 参考教材&#xff1a;Jonathan Katz, Yehuda Lindell, Introduction to Modern Cryptography - Principles and Protocols. 什么是加密 首先&#xff0c;加密方案的目的在于…

【海拥工具】分享200+个关于AI的网站

给大家分享一个学习、摸鱼必备网站&#xff0c;我的好友海拥✘&#xff08;全网粉丝近20万&#xff0c;CSDN 内容合伙人&#xff0c;全栈领域优质创作者&#xff0c;华为云享专家&#xff0c;阿里云专家博主&#xff0c;InfoQ、蓝桥云课签约作者&#xff0c;HDZ核心组成员&…

石子游戏 dfs + 备忘录 JAVA

Alice 和 Bob 用几堆石子在做游戏。一共有偶数堆石子&#xff0c;排成一行&#xff1b;每堆都有 正 整数颗石子&#xff0c;数目为 piles[i] 。 游戏以谁手中的石子最多来决出胜负。石子的 总数 是 奇数 &#xff0c;所以没有平局。 Alice 和 Bob 轮流进行&#xff0c;Alice 先…

ArcGIS Pro基础入门、制图、空间分析、影像分析、三维建模、空间统计分析与建模、python融合、案例应用全流程科研能力提升

目录 第一章 入门篇 GIS理论及ArcGIS Pro基础 第二章 基础篇 ArcGIS数据管理与转换 第三章 数据编辑与查询、拓扑检查 第四章 制图篇 地图符号与版面设计 第五章 空间分析篇 ArcGIS矢量空间分析及应用 第六章 ArcGIS栅格空间分析及应用 第七章 影像篇 遥感影像处理 第八…

如何在Linux布置nginx(附带Nginx基本操作步骤)

文章目录 前言一、下载环境依赖二、下载nginx安装包三、具体操作流程总结 前言 提示&#xff1a;下述操作步骤适合内网服务器、局域网服务器和公网服务器。 不足之处欢迎交流指正&#xff0c;不喜勿喷。 一、下载环境依赖 yum -y install gcc zlib zlib-devel pcre-devel ope…