HTML与JavaScript结合实现简易计算器

news2024/11/15 4:43:48

目录

背景:

过程:

代码:

HTML部分解析:

body部分解析:

JavaScript部分解析:

效果图 :

总结: 


背景:

计算器是一个典型的HTML和javaScript结合使用的例子,它展示了如何使用HTML来构建用户界面,使用JavaScript来处理用户输入和逻辑,以及如何使用JavaScript来更新Web页面内容(即显示计算结果)。这些技能是Web开发的基础,也是创建更复杂、更动态的Web应用所必需的。

过程:

代码:

<html>
//HTM文档的开始和结束标签,包含了整个网页的内容
<head>
    <title>简易计算器</title>
    <script language="javascript">
        function doCal() {
            var value1 = parseInt(document.getElementById("value1").value);
            var flag = document.getElementById("flag").value;
            var value2 = parseInt(document.getElementById("value2").value);
            var s = 0; // 初始化结果变量  
            switch (flag) {
                case "+":
                    s = value1 + value2;
                    break;
                case "-":
                    s = value1 - value2;
                    break;
                case "*":
                    s = value1 * value2;
                    break;
                case "/":
                    s = value1 / value2;
            }
            document.getElementById("span_result").innerHTML ="<font color='red'>"+s+"</font>";
        }
    </script>
</head>

<body>
    <h1>简易计算器</h1>
    <hr>
    <input type="text" id="value1" name="value1">
    <select name="flag" id="flag">
        <option value="+">+</option>
        <option value="-">-</option>
        <option value="*">*</option>
        <option value="/">/</option>
    </select>
    <input type="text" id="value2" name="value2">
    <input type="button" value="=" onclick="doCal()">
   <span id="span_result"> </span>
</body>

</html>

HTML部分解析:

<html>标签

-HTML文档的开始和结束,包含整个网页的内容。

<head>部分

·<head>

-标签包含了文档的元(meta)数据,如文档的标题、字符集声明、对样式表的引用等

·<title>更简易计算器</title>

-设置了网页的标题,这个标题会显示在浏览器的标签页上

·<script language="javascript">

-包含了JavaScript代码,用于实现计算器的功能

body部分解析:

·<body>

-标签包含了可见的页面内容,如文本、图片、链接、表格、列表等。

·<h1>简易计算器<h1>

-定义了一个一级标题,用于显示计算器的名称

·<hr> 

-插入一条水平线,用于分割内容,这里用来分割标题和计算器界面

·<input type="text" id="value1" name="value1"

-定义一个文本输入框,用户可以在其中输入第一数值。id属性用于JavaScirpt中通过

getElementById方法访问该元素,name属性用于表单数据的提交

·<select name="flag" id="flag">...</select>

-定义一个下拉选择框,用户可以选择+、-、*、/四种运算。id和name属性同样用于访问和提交数据

·<input type=”text“ id="value2" name="value2">

-第二个文本输入框,用于输入第二个数值

·<input type="button" value"="οnclick="doCal()">

-定义一个按钮,点击时执行doCal函数,即执行计算操作

·<span id="span_result"></span>

-定义一个span元素,用于显示计算结果。通过修改其innerHTML属性,JavaScript可以在这里插入计算结果

JavaScript部分解析:

·funcation doCal()

-定义一个名为doCal的函数,当点击"="按钮时,这个函数会被调用

·变量定义和获取输入值

-使用doucment.getElementByld方法获取用户输入的数值和 选择的运算符

-使用parseInt函数将字符串(用户输入的文本)转换为整数,以便进行数学运算

·switch语句

-根据用户选择的运算符,使用switch语句来执行相应的数学运算

-显示结果

-将计算结果s转换为字符串,并插入到span_result元素的innerHTML中。同时,使用<font color='red'>标签,将结果文本设置为红色

效果图 :

总结: 

HTMLJavaScript
定义网页内容的标记语言网页的编程语言
用途定义网页结构和内容增加网页交互性和动态效果
执行由浏览器解析并渲染由浏览器JavaScript引擎执行
关系提供内容结构操作并改变这些内容

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

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

相关文章

Kibana中突然看不到日志ElasticSearch突然采集不到日志问题解决分析

问题原因 起因之前我们项目是采用elk&#xff08;elasticsearchlogstashkibana&#xff09;的方式下部署日志采集系统&#xff0c;今天突然发现Kibana中所有项目日志都没打印&#xff0c;更奇怪的是线上的项目都正常运行&#xff0c;并无异常&#xff0c;这时让人陷入了深思&a…

电商新纪元:37即拼模式如何重塑市场格局

在电商领域的浩瀚星海中&#xff0c;拼团模式犹如一颗璀璨的星辰&#xff0c;历经近十年的洗礼&#xff0c;依旧熠熠生辉&#xff0c;不断吸引着商家与消费者的目光。近期&#xff0c;一家电商平台凭借其独树一帜的“37即拼”模式&#xff0c;仅在一周内便狂揽5万订单&#xff…

移动硬盘未格式化:深度解析、恢复策略与预防措施

现象解读&#xff1a;移动硬盘的“未格式化”迷局 在数字信息爆炸的时代&#xff0c;移动硬盘作为数据存储与传输的重要工具&#xff0c;扮演着不可或缺的角色。然而&#xff0c;当用户试图访问移动硬盘时&#xff0c;却可能遭遇一个令人困惑的提示——“未格式化”。这一现象…

一大堆的图片怎么批量重命名从1到50?这个方法你必须知道

一大堆的图片怎么批量重命名从1到50&#xff1f;这个方法你必须知道。有许多的人因为工作的问题&#xff0c;经常需要用到给一些图片&#xff0c;文件&#xff0c;文档等重命名的事情。很多人都不知道有快速处理的办法&#xff0c;只能一个个右键重命名&#xff0c;或者批量选择…

Three.js 3D人物漫游项目(下)

本文目录 前言最终效果1、效果回顾2、编写人物模型动画执行类并调用2.1 代码2.2 代码解读2.3 实例化动画类并调用2.4 效果2.4.1 休息动画2.4.2 跑步动画2.4.3 走路动画2.4.4 舞蹈1动画2.4.5 舞蹈2动画3、键盘控制动画3.1 站立休息、走、跑、舞蹈1、舞蹈2代码3.1.1 效果3.2 跳跃…

1000Km弹射巡飞器技术详解

随着现代战争形态的演变及科技水平的飞速提升&#xff0c;远程侦察、打击与持久监视能力成为各国军事力量建设的重要方向。1000Km弹射巡飞器作为一种新型无人机系统&#xff0c;凭借其超远的航程、长时间的续航以及高度的灵活性&#xff0c;成为近年来军事技术领域的研究热点。…

开源ids snort (windows版)

Snort-IPS-on-Windows-main资源-CSDN文库 GitHub - eldoktor1/Snort-IPS-on-Windows: A comprehensive guide to installing and configuring Snort IPS on Windows, ensuring robust network security 手动打造Snortbarnyard2BASE可视化告警平台 - FreeBuf网络安全行业门户 …

记录|项目管理软件PingCode使用【待更新】

目录 前言一、项目的创建二、需求2.1 需求页面认识 2.2 添加需求更新时间 前言 参考视频&#xff1a; 快速上手PingCode&#xff1a;创建Scrum、看板、瀑布项目 这个主要用于细化自己和队友、团队之间的任务&#xff0c;进一步管理整个的软件开发的进度。【如下图】 一、项目的…

Python可迭代对象(2)

目录 3。字典 字典的构造 字典的添加和修改 字典推导式的使用 以上全部代码编译结果展示 字典复习 4。集合(set) 集合的创建 集合的运算 集合的添加和删除元素 以上全部代码的编译结果 序列解包&#xff08;Sequence unpacking&#xff09; 3。字典 字典的构造 #字…

ChatGLM-6B 部署与使用——打造你的专属GLM

ChatGLM-6B 部署与使用指南 ChatGLM-6B 是清华大学与智谱 AI 开源的一款对话语言模型&#xff0c;基于 General Language Model (GLM) 架构&#xff0c;参数达到 62 亿&#xff0c;因其卓越的语言理解与生成能力&#xff0c;受到广泛关注。 一、在 DAMODEL 上部署 ChatGLM-6B…

AD层次化设计中的常见错误

Duplicate Net Names Wire 仔细检查是不是网络标签没有标上 网络标签是否一致 Nets Wire has multiple names 上面的步骤也要检查 然后设置如下&#xff1a;

基于丹摩智算平台-手把手拿下经典目标检测模型 Faster-Rcnn

文章目录 1. 前言1. 1 丹摩智算平台1.2 经典目标检测模型 Faster-Rcnn 2. 前置准备2.1 WindTerm&#xff08;远程连接服务器&#xff09;2.2 项目源码 3. 服务器平台配置3.1 创建实例3.2 远程链接 4. Faster-rcnn 的环境配置4.1 上传文件&#xff0c;解压4.2 安装所需环境 5. 数…

在Windows系统上安装的 zstd C++ 库

在Windows系统上安装的 zstd C 库 项目地址:安装步骤步骤一步骤二 效果 项目地址: https://github.com/facebook/zstd 经过观察发现,这个项目没有CMakeLists.txt,只有Makefile,但是Makefile在windows系统下没有什么用, 所以说,常规的方式安装不可取了 安装步骤 步骤一 往下…

idea上使用tomcat运行web项目

idea上使用tomcat运行web项目 首先需要安装tomcat&#xff0c;可以查看我上一篇文章 如果你已经配置tomcat&#xff0c;这里不需要改动。如果未配置&#xff0c;需要在这里选择你tomcat目录 修改下面的上下文&#xff0c;也就是网页上访问时http://localhost:8080/后面拼…

算数运算之短路

c语言的表达式是从左往右求值的&#xff0c;我们在面对&&&#xff08;按位与&#xff09;和||&#xff08;按位或&#xff09;我们要根据与还有或的特性在判断是否能够使句子能够运行下去&#xff0c;就举个简单的例子 if(month 12 || month1 || month 2) { printf…

LeetCode 2374.边积分最高的节点:模拟

【LetMeFly】2374.边积分最高的节点&#xff1a;模拟 力扣题目链接&#xff1a;https://leetcode.cn/problems/node-with-highest-edge-score/ 给你一个有向图&#xff0c;图中有 n 个节点&#xff0c;节点编号从 0 到 n - 1 &#xff0c;其中每个节点都 恰有一条 出边。 图…

英伟达开源 NVLM 1.0 引领多模态 AI 变革

新闻 NVLM 1.0 是由英伟达&#xff08;Nvidia&#xff09;最新推出的一系列前沿级别的多模态大型语言模型&#xff08;MLLM&#xff09;&#xff0c;这些模型在视觉-语言任务上取得了与领先专有模型&#xff08;例如 GPT-4o&#xff09;和开放访问模型&#xff08;例如 Llama 3…

[干货] [非基础警告] Unity 发布-订阅模式下的事件中心设计

本文师承于唐老师&#xff0c;但是修改了一些代码&#xff0c;采用更加方便理解的方式设计 1.什么是事件中心 2.可以比喻成冒险者工会的任务板子 任务板子上面有发布任务和任务完成两种基础情况 2.1 发布任务 来个冒险者发布一个任务&#xff0c;就执行Pulishtask方法 这…

【软件工程】状态转换图 其他图形工具

状态转换图 一、定义 二、符号表示 其他图形工具 一、层次方框图 二、Warmer图 三、IPO图 例题 选择题

【k8s】:DevOps 模式详解

1.什么是DevOps模式&#xff1f; DevOps 是当下非常火爆的一个概念&#xff0c;受到了很多互联网巨头的推崇。那么什么是 DevOps&#xff1f;它的全称是&#xff1a;集成开发与运维。至于它到底是干什么用的&#xff0c;为什么现在这么火爆&#xff0c;还得从源头说起。 1.1 …