jQuery_计算器实例
知识点:
fadeIn()---计算器界面载入淡入效果
hover()---鼠标移入移出某个元素时触发的事件
click()---鼠标单击事件
css()---对元素样式的操作
val()---获取表单元素的值
text()---对元素div内容的处理
substring(start,end)---从start到end截取字符串的子串
indexOf()--字符串索引函数(在字符串中查找指定字符串,返回值是目标字符串在字符串的开始位置,返回-1表示没找到)
.length --- 获取字符串的长度
var $temp1 = parseFloat(str);---字符类型的转换
html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>soulsjie jQuery制作计算器</title>
<script src="libs/jquery-1.8.3.js"></script>
<link rel="stylesheet" href="css/soulsjie.css" type="text/css" />
</head>
<body>
<div class="content">
<div class="write_diban">
<input type="text" value="0" class="view"/>
<div class="opp">
<div class="bk">bk</div>
<div class="cl">C</div>
</div>
<div class="key">
<div class="bt7">7</div>
<div class="bt8">8</div>
<div class="bt9">9</div>
<div class="chu">/</div>
<div class="bt4">4</div>
<div class="bt5">5</div>
<div class="bt6">6</div>
<div class="chen">*</div>
<div class="bt1">1</div>
<div class="bt2">2</div>
<div class="bt3">3</div>
<div class="chen">-</div>
<div class="bt0">0</div>
<div class="dian">.</div>
<div class="jia">+</div>
<div class="deng">=</div>
</div>
<div class="massage"></div>
</div>
</div>
<!--soulsjie 2017.11.10-->
</body>
<script src="js/soulsjie.js"></script>
</html>
css:
.content{
margin:100px auto;
background:#2b3037;
height:500px;
width:300px;
box-shadow: 10px 10px 5px #888888;
padding:5px;
display:none;
}
.write_diban{
height:100%;
width:100%;
margin:0 auto;
background:#d9e4f1;
border:1px solid #f00;
border-radius:10px;
text-align:center;
}
.write_diban > input{
margin-top:10px;
height:50px;
width:285px;
background:#d9e4f1;
border:1px solid #8898ab;
border-radius:5px;
font-size:20px;
font-weight:bold;
text-align:right;
} .key div ,.opp div{
float:left;
background:#f00;
margin-left:8px;
margin-top:8px;
cursor:pointer;
clolr:#1e395b;
font-size:16px;
background:#d9e4f1;
border:1px solid #8898ab;
border-radius:10px;
line-height: 45px;
}
.opp div{
width:45%;
height:45px;
}
.key div {
width:63px;
height:45px;
}
js:
$(document).ready(function(){
$(".content").fadeIn(2000);
}); $(".key div,.opp div").hover(function(){
$(this).css({"background":"#f00","color":"#fff","fontSize":"26px"});
},function(){
$(this).css({"background":"#d9e4f1","color":"#000","fontSize":"16px"});
}); var $num="";
var $app_num=0;//运算符操作标记0表示无运算1加法。2减法。3乘法。4除法 //数字键被按下时向显示框中添加内容
$(".key div").click(function(){
$num+=$(this).text();
//将输入追加到显示框
$(".view").val($num);
}); //退格键处理
$(".bk").click(function(){
var $aa=$(".view").val().substring(0, $(".view").val().length-1)
$(".view").val($aa);
}); //清空显示框
$(".cl").click(function(){
$num="";
$(".view").val($num);
}); //等号被按下时
$(".deng").click(function(){
//错误
//用户的操作执行响应的计算
if($num.indexOf("+")!=-1){ //用户的操作是计算加法
$app_num=1;
}
if($num.indexOf("-")!=-1){ //用户的操作是计算加法
$app_num=2;
}
if($num.indexOf("*")!=-1){ //用户的操作是计算加法
$app_num=3;
}
if($num.indexOf("/")!=-1){ //用户的操作是计算加法
$app_num=4;
}
switch($app_num)
{
case 0:
$num="";
$(".view").val($num);
alert("输入有误");
break;
case 1: //执行加法操作
//在字符串中将多余的=号截取
var $aa=$(".view").val().substring(0, $(".view").val().length-1)
num_arr=$aa.split("+");
//将分割后的两个字符串进行类型转换
var $temp1 = parseFloat(num_arr[0]);
var $temp2 = parseFloat(num_arr[1]);
//计算结果
var $resout=$temp1+$temp2;
$num+=$resout;
//输出结果
$(".massage").html($num);
$num="";
$(".view").val($num);
break;
case 2: //执行减法操作
//在字符串中将多余的=号截取
var $aa=$(".view").val().substring(0, $(".view").val().length-1)
num_arr=$aa.split("-");
//将分割后的两个字符串进行类型转换
var $temp1 = parseFloat(num_arr[0]);
var $temp2 = parseFloat(num_arr[1]);
//计算结果
var $resout=$temp1-$temp2;
$num+=$resout;
//输出结果
$(".massage").html($num);
$num="";
$(".view").val($num);
break;
case 3: //执行乘法操作
//在字符串中将多余的=号截取
var $aa=$(".view").val().substring(0, $(".view").val().length-1)
num_arr=$aa.split("*");
//将分割后的两个字符串进行类型转换
var $temp1 = parseFloat(num_arr[0]);
var $temp2 = parseFloat(num_arr[1]);
//计算结果
var $resout=$temp1*$temp2;
$num+=$resout;
//输出结果
$(".massage").html($num);
$num="";
$(".view").val($num);
break;
case 4: //执行除法操作
//在字符串中将多余的=号截取
var $aa=$(".view").val().substring(0, $(".view").val().length-1)
num_arr=$aa.split("/");
//将分割后的两个字符串进行类型转换
var $temp1 = parseFloat(num_arr[0]);
var $temp2 = parseFloat(num_arr[1]);
//计算结果
var $resout=$temp1/$temp2;
$num+=$resout;
//输出结果
$(".massage").html($num);
$num="";
$(".view").val($num);
break;
} });
jQuery_计算器实例的更多相关文章
- JavaScript实例技巧精选(10)—计算器实例2
>>点击这里下载完整html源码<< 这是截图: 利用Javascript和html实现的另一个计算器实例,核心代码如下: <script language=" ...
- JavaScript实例技巧精选(9)—计算器实例1
>>点击这里下载完整html源码<< 这是截图: 利用Javascript和html实现的一个计算器实例,核心代码如下: <script language="J ...
- Python全栈--6.1-match-search-findall-group(s)的区别以及计算器实例
match.search.findall.group(s) 区别 import re # match findall经常用 # re.match() #从开头匹配,没有匹配到对象就返回NONE # r ...
- 原生javascript开发计算器实例
计算器的主要作用是进行数字运算,开发一个计算器功能的web实例,有助于更好的掌握js基础的数字运算能力. 本实例详细分析一个js计算器的开发步骤,学习本教程时最好先具备一些基础的js知识. 计算器包括 ...
- php简易计算器实例
<html> <head> <title>PHP实现简单计算器</title> <meta http-equiv="Content-Ty ...
- Java实例---计算器实例
1.计算器上的键的显示名字 1.0 继承JFrame类 public class Calculate extends JFrame { } 1.1定义常量 /** 计算器上的键的显示名字 */ pub ...
- jsp+javaBean 计算器实例
package com.wzh.test.domain; import java.math.BigDecimal; public class CalculatorBean { private Stri ...
- JavaScript实例技巧精选(11)—计算器实例3
>>点击这里下载完整html源码<< 界面如下 将以下代码插入<body></body>中 <FORM NAME="Calc" ...
- vue实现网页简单计算器实例代码
效果: 代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...
随机推荐
- 编译原理 LR分析(主要是LR(0)分析)
一.LR分析的基本原理 1.LR分析的基本思想 LR方法的基本思想就是,在规范归约的过程中,一方面要记住已移进和归约出的整个字符串,也就是说要记住历史:一方面能够根据所用的产生式的推测未来可能碰到的输 ...
- 递推DP UVA 473 Raucous Rockers
题目传送门 题意:n首个按照给定顺序存在m张光盘里,每首歌有播放时间ti,并且只能完整的存在一张光盘里,问最多能存几首歌 分析:类似01背包和完全背包,每首歌可存可不存,存到下一张光盘的情况是当前存不 ...
- 01背包(分组) HDOJ 4341 Gold miner
题目传送门 题意:有n个金矿,每个金矿有抓取的消耗的时间和价值,矿工在原点,问在T时间内能得到的最大的价值 分析:唯一和01背包不同的是金矿可能共线,也就是抓取近的金矿后才能抓后面共线的金矿.这是分组 ...
- iOS-UI控件之UITableView(二)- 自定义不等高的cell
不等高的cell 给模型增加frame数据 所有子控件的frame cell的高度 @interface XMGStatus : NSObject /**** 文字\图片数据 ****/ // ... ...
- RDO、SAD、SATD、λ相关概念【转】
率失真优化概述: 率失真优化(Rate D isto r t i on Op t i m ized)策略是在率失真理论[3 ]的基础上提出的一种代价函数方案, RDO 的主要思想是, 在计算代价函数时 ...
- [Windows Server 2012] MySQL移机方法
★ 欢迎来到[护卫神·V课堂],网站地址:http://v.huweishen.com ★ 护卫神·V课堂 是护卫神旗下专业提供服务器教学视频的网站,每周更新视频. ★ 本节我们将带领大家:MySQL ...
- MAC 添加共享,脚本执行
Linux需要首先安装 yum install samba-client linxu添加windows 公共盘 mount -t cifs user=guest,password=guest // ...
- vuex相关的知识
vue的核心是store,它可以看作是一个容器,它包含着应用中的状态state(state,mutations,actions,getters, modules).它中的存储是响应式的,当store中 ...
- day22-类的封装、property特性以及绑定方法与非绑定方法
目录 类的封装 两个层面的封装 第一个层面 第二个层面 封装的好处 私有模块 类的propertry特性 setter 和 deleter 类与对象的绑定方法与非绑定方法 类的封装 将类的属性或方法隐 ...
- 00C#
C# C#(读作“See Sharp”)是一种简单.现代.面向对象且类型安全的编程语言.C# 起源于 C 语言家族,因此,对于 C.C++ 和 Java 程序员,可以很快熟悉这种新的语言.C# 已经分 ...