몇 가지 정보를 참고하여 간단한 계산기 케이스를 작성해 보겠습니다. 일반적인 요구 사항을 충족했지만 여전히 불만스러운 부분은 후속 강도가 개선된 후에 추가하겠습니다.
1: 원래 페이지가 열려 있는 한 계산기의 입력 상자는 기본 상태 0을 표시하지만, 기본 표시 0에 입력 상자를 추가하면 데이터 입력을 선택할 때 0이 표시됩니다. 입력된 숫자 앞에 "0123" 가 표시되는데, 이는 성능 제한으로 인해 추후 강도 개선 후 보완 및 개선될 예정입니다!
2: 현재 선택버튼은 마우스로만 제어 가능하며, 키보드 입력 기능은 개선이 필요합니다.
3: 곱셈 기호는 원래 "×" 기호로 변경하려고 했으나 나중에 개선될 예정입니다.
첨부된 사진은
HTML 부분:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>计算器</title> </head> <body onload="onLoad()"> <div id="calculator"> <div class="LOGO"> <span class="name">简单的计算器</span> <span class="verson">@liumobai v1.0</span> </div> <div id="shuRu"> <!--screen输入栏--> <div class="screen"> <input type="text" id="screenName" name="screenName" class="screen" value="" onfocus="jsq(this)"> </div> </div> <div id="keys"> <!-- operators and other keys --> <!--第一排--> <input type="button" id="7" onclick="jsq(this.id)" value="7" class="buttons"> <input type="button" id="8" onclick="jsq(this.id)" value="8" class="buttons"> <input type="button" id="9" onclick="jsq(this.id)" value="9" class="buttons"> <input type="button" id="Back" onclick="tuiGe()" value="Back" class="buttons"> <input type="button" id="C" onclick="clearNum()" value="C" class="buttons" style="margin-right:0px"> <!--第二排--> <input type="button" id="4" onclick="jsq(this.id)" value="4" class="buttons"> <input type="button" id="5" onclick="jsq(this.id)" value="5" class="buttons"> <input type="button" id="6" onclick="jsq(this.id)" value="6" class="buttons"> <input type="button" id="*" onclick="jsq(this.id)" value="*" class="buttons"> <input type="button" id="/" onclick="jsq(this.id)" value="/" class="buttons" style="margin-right:0px"> <!--第三排--> <input type="button" id="1" onclick="jsq(this.id)" value="1" class="buttons"> <input type="button" id="2" onclick="jsq(this.id)" value="2" class="buttons"> <input type="button" id="3" onclick="jsq(this.id)" value="3" class="buttons"> <input type="button" id="+" onclick="jsq(this.id)" value="+" class="buttons"> <input type="button" id="-" onclick="jsq(this.id)" value="-" class="buttons" style="margin-right:0px"> <!--第四排--> <input type="button" id="0" onclick="jsq(this.id)" value="0" class="buttons"> <input type="button" id="00" onclick="jsq(this.id)" value="00" class="buttons"> <input type="button" id="." onclick="jsq(this.id)" value="." class="buttons"> <input type="button" id="%" onclick="jsq(this.id)" value="%" class="buttons"> <input type="button" id="eva" onclick="eva()" value="=" class="buttons" style="margin-right:0px"> </div> <div class="footer"> <span class="aside">欢迎使用JavaScript计算器</span> <span class="link"> <a href="#" title="声明" target="_blank">反馈</a> </span> </div> </div> </body> </html>
JS 부분:
<script> var num = 0; // 定义第一个输入的数据 function jsq(num) { //获取当前输入 document.getElementById('screenName').value += document.getElementById(num).value; } function eva() { //计算输入结果 document.getElementById("screenName").value = eval(document.getElementById("screenName").value); } function clearNum() { //清0 document.getElementById("screenName").value = null; document.getElementById("screenName").focus(); } function tuiGe() { //退格 var arr = document.getElementById("screenName"); arr.value = arr.value.substring(0, arr.value.length - 1); } function onLoad(){ //加载完毕后光标自动对应到输入框 document.getElementById("screenName").focus(); } </script>
CSS 부분:
/*Basic reset*/ *{ margin:0; padding:0; box-sizing: border-box; font: 14px Arial,sans-serif; } html{ height:100%; background-color:lightslategrey; } #calculator{ margin: 15px auto; width:330px; height:400px; border: 1px solid lightgray; background-color:darkgrey; padding:15px; } /*LOGO*/ .LOGO{ height:20px; } .LOGO .name{ float:left; line-height:30px; } .LOGO .verson{ float:right; line-height:30px; } /*screen*/ #shuRu{ margin-top:15px; } .screen{ margin-top:5px; width:300px; height:40px; text-align: right; padding-right:10px; font-size:20px; } #keys{ border:1px solid lightgray; height:223px; margin-top:25px; padding:8px; } #keys .last{ margin-right:0px; } .footer{ margin-top:20px; height:20px; } .footer .link{ float:right; } #keys .buttons{ float:left; width: 42px; height: 36px; text-align:center; background-color:lightgray; margin: 0 17px 20px 0; }
예를 들어보겠습니다
<html> <head> <title>Untitled</title> <style type="text/css"> input[type=button] { width:25px; height:25px; } </style> <script type="text/javascript"> var result=0; var point=false; //判断是小数点前还是后 var multiple=0.1; //初始化小数点后的倍率 var sort=0; //标记加减乘除 var temp=0; //记录上一轮结果 function onbutton0() //数字按钮动作 { var name=document.getElementByIdx_x("show"); if(!point) result=10*result+0; //小数点前的处理 else //小数点后的处理 { result=result+multiple*0; multiple=multiple*0.1; } name.value=String(result); } function onbutton1() { var name=document.getElementByIdx_x("show"); if(!point) result=10*result+1; else { result=result+multiple*1; multiple=multiple*0.1; } name.value=String(result); } function onbutton2() { var name=document.getElementByIdx_x("show"); if(!point) result=10*result+2; else { result=result+multiple*2; multiple=multiple*0.1; } name.value=String(result); } function onbutton3() { var name=document.getElementByIdx_x("show"); if(!point) result=10*result+3; else { result=result+multiple*3; multiple=multiple*0.1; } name.value=String(result); } function onbutton4() { var name=document.getElementByIdx_x("show"); if(!point) result=10*result+4; else { result=result+multiple*4; multiple=multiple*0.1; } name.value=String(result); } function onbutton5() { var name=document.getElementByIdx_x("show"); if(!point) result=10*result+5; else { result=result+multiple*5; multiple=multiple*0.1; } name.value=String(result); } function onbutton6() { var name=document.getElementByIdx_x("show"); if(!point) result=10*result+6; else { result=result+multiple*6; multiple=multiple*0.1; } name.value=String(result); } function onbutton7() { var name=document.getElementByIdx_x("show"); if(!point) result=10*result+7; else { result=result+multiple*7; multiple=multiple*0.1; } name.value=String(result); } function onbutton8() { var name=document.getElementByIdx_x("show"); if(!point) result=10*result+8; else { result=result+multiple*8; multiple=multiple*0.1; } name.value=String(result); } function onbutton9() { var name=document.getElementByIdx_x("show"); if(!point) result=10*result+9; else { result=result+multiple*9; multiple=multiple*0.1; } name.value=String(result); } function onbutton_point() //小数点按钮 { var name=document.getElementByIdx_x("show"); point=true; name.value=String(result)+"."; } function onbutton_back() //退格按钮 { var name=document.getElementByIdx_x("show"); var temp=name.value; name.value=""; for(var i=0;i<temp.length-1;i++) name.value+=temp[i]; } function onbutton_plus() { var name=document.getElementByIdx_x("show"); point=false; multiple=0.1; switch (sort) //遇到下一个操作符时判断上一个操作符是什么,并进行上一个操作符的计算 { //eg:1+2+3= 遇到第二个+时判断前一个符号,发现是+则进行+运算,得到3赋给result case 1:result=result+temp; break; case 2:result=temp-result; break; case 3:result=temp*result; break; case 4:result=temp/result; break; } sort=1; temp=result; result=0; name.value="0"; } function onbutton_minus() { var name=document.getElementByIdx_x("show"); point=false; multiple=0.1; switch (sort) { case 1:result=result+temp; break; case 2:result=temp-result; break; case 3:result=temp*result; break; case 4:result=temp/result; break; } sort=2; temp=result; result=0; name.value="0"; } function onbutton_mult() { var name=document.getElementByIdx_x("show"); point=false; multiple=0.1; switch (sort) { case 1:result=result+temp; break; case 2:result=temp-result; break; case 3:result=temp*result; break; case 4:result=temp/result; break; } sort=3; temp=result; result=0; name.value="0"; } function onbutton_div() { var name=document.getElementByIdx_x("show"); point=false; multiple=0.1; switch (sort) { case 1:result=result+temp; break; case 2:result=temp-result; break; case 3:result=temp*result; break; case 4:result=temp/result; break; } sort=4; temp=result; result=0; name.value="0"; } function onbutton_equal() { var name=document.getElementByIdx_x("show"); point=false; //重置 multiple=0.1; //重置 switch (sort) { case 1:result=result+temp; break; case 2:result=temp-result; break; case 3:result=temp*result; break; case 4:result=temp/result; break; } sort=0; //重置 temp=result; result=0; name.value=String(temp); } function onbutton_clear() //重置为初始状态 { result=0; point=false; multiple=0.1; //初始化小数点后的倍率 sort=0; //标记加减乘除 temp=0; //记录上一轮结果 var name=document.getElementByIdx_x("show"); name.value="0"; } </script> </head> <body> <table align="center"> <tr> <td colspan="5"><input type="text" value="0" id="show"></td> </tr> <tr> <td><input type="button" value="7" onclick="onbutton7();"></td> <td><input type="button" value="8" onclick="onbutton8();"></td> <td><input type="button" value="9" onclick="onbutton9();"></td> <td><input type="button" value="/" onclick="onbutton_div();"></td> <td><input type="button" value="<" onclick="onbutton_back();"></td> </tr> <tr> <td><input type="button" value="4" onclick="onbutton4();"></td> <td><input type="button" value="5" onclick="onbutton5();"></td> <td><input type="button" value="6" onclick="onbutton6();"></td> <td><input type="button" value="*" onclick="onbutton_mult();"></td> <td><input type="button" value="C" onclick="onbutton_clear();"></td> </tr> <tr> <td><input type="button" value="1" onclick="onbutton1();"></td> <td><input type="button" value="2" onclick="onbutton2();"></td> <td><input type="button" value="3" onclick="onbutton3();"></td> <td><input type="button" value="-" onclick="onbutton_minus();"></td> <td rowspan="2"><input type="button" value="=" style="width:25px;height:57px;" onclick="onbutton_equal();"></td> </tr> <tr> <td colspan="2"><input type="button" value="0" style="width:57px;height:25px;" onclick="onbutton0();"></td> <td><input type="button" value="." onclick="onbutton_point();"></td> <td><input type="button" value="+" onclick="onbutton_plus();"></td> </tr> </table> </body> </html>

如何使用JS和百度地图实现地图平移功能百度地图是一款广泛使用的地图服务平台,在Web开发中经常用于展示地理信息、定位等功能。本文将介绍如何使用JS和百度地图API实现地图平移功能,并提供具体的代码示例。一、准备工作使用百度地图API前,首先需要在百度地图开放平台(http://lbsyun.baidu.com/)上申请一个开发者账号,并创建一个应用。创建完成

如何使用JS和百度地图实现地图多边形绘制功能在现代网页开发中,地图应用已经成为常见的功能之一。而地图上绘制多边形,可以帮助我们将特定区域进行标记,方便用户进行查看和分析。本文将介绍如何使用JS和百度地图API实现地图多边形绘制功能,并提供具体的代码示例。首先,我们需要引入百度地图API。可以利用以下代码在HTML文件中导入百度地图API的JavaScript

js字符串转数组的方法:1、使用“split()”方法,可以根据指定的分隔符将字符串分割成数组元素;2、使用“Array.from()”方法,可以将可迭代对象或类数组对象转换成真正的数组;3、使用for循环遍历,将每个字符依次添加到数组中;4、使用“Array.split()”方法,通过调用“Array.prototype.forEach()”将一个字符串拆分成数组的快捷方式。

如何使用JS和百度地图实现地图热力图功能简介:随着互联网和移动设备的迅速发展,地图成为了一种普遍的应用场景。而热力图作为一种可视化的展示方式,能够帮助我们更直观地了解数据的分布情况。本文将介绍如何使用JS和百度地图API来实现地图热力图的功能,并提供具体的代码示例。准备工作:在开始之前,你需要准备以下事项:一个百度开发者账号,并创建一个应用,获取到相应的AP

js中new操作符做了:1、创建一个空对象,这个新对象将成为函数的实例;2、将新对象的原型链接到构造函数的原型对象,这样新对象就可以访问构造函数原型对象中定义的属性和方法;3、将构造函数的作用域赋给新对象,这样新对象就可以通过this关键字来引用构造函数中的属性和方法;4、执行构造函数中的代码,构造函数中的代码将用于初始化新对象的属性和方法;5、如果构造函数中没有返回等等。

这篇文章主要为大家详细介绍了js实现打字小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

php在特定情况下可以读js内部的数组。其方法是:1、在JavaScript中,创建一个包含需要传递给PHP的数组的变量;2、使用Ajax技术将该数组发送给PHP脚本。可以使用原生的JavaScript代码或者使用基于Ajax的JavaScript库如jQuery等;3、在PHP脚本中,接收传递过来的数组数据,并进行相应的处理即可。

js全称JavaScript,是一种具有函数优先的轻量级,直译式、解释型或即时编译型的高级编程语言,是一种属于网络的高级脚本语言;JavaScript基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式,如函数式编程。


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

Dreamweaver Mac版
시각적 웹 개발 도구

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기
