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;
	}

});
时间: 2024-11-02 11:34:58

jQuery_计算器实例的相关文章

Javascript 实现简单计算器实例代码

Javascript 实现简单计算器实例代码 这篇文章主要介绍了Javascript 实现简单计算器实例代码的相关资料,需要的朋友可以参考下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63

Python全栈--6.1-match-search-findall-group(s)的区别以及计算器实例

Python全栈--6.1-match-search-findall-group(s)的区别以及计算器实例match.search.findall.group(s) 区别12345    import re# match findall经常用# re.match() #从开头匹配,没有匹配到对象就返回NONE# re.search() #浏览全部字符,匹配第一个符合规则的字符串# re.findall() # 将匹配到的所有内容都放置在一个列表中一.match有两种情况 -------  有分组

QT开发(三十)——计算器实例开发

QT开发(三十)--计算器实例开发 一.计算器界面制作 计算器界面需要QWidget组件作为顶层窗口,QLineEdit组件作为输入框,QPsuhButton作为按钮. 界面规划设计如下: #include <QApplication> #include <QWidget> #include <QLineEdit> #include <QPushButton>   int main(int argc, char *argv[]) {     QApplica

WCF 之 计算器实例

对于WCF,我们有了前面的理论基础,今天通过一个计算器的实例主要给大家讲解怎么一步一步地创建一个完整的WCF应用. 一.创建整个解决方案 Calculator.Service:一个类库项目,定义服务契约(Service Contract),应用System.ServiceModel程序集:提供对WCF服务的实现. Calculator.Host:一个Windows窗体应用程序,实现对定义在Calculator.Service项目中的服务的寄宿,该项目需要引用Calculator.Service项

Java实例---计算器实例

1.计算器上的键的显示名字 1.0 继承JFrame类 public class Calculate extends JFrame { } 1.1定义常量 /** 计算器上的键的显示名字 */ public final String[] KEYS = { "7", "8", "9", "/", "sqrt", "4", "5", "6", &quo

vue实现网页简单计算器实例代码

效果: 代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript" src="js/vue.js" ></script> </head> <body> <div id=&q

JavaScript实例之计算器

代码实例: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>计算器实例效果</title> <script type="text/javascript"> var compute=function (val) { var num1=parseFloat(document.g

Python中的元组,字典、计算器代码实例及python2与python3的区别

1.计算器实例 #/usr/bin/env python # -*- coding:utf-8 -*- # @time   :2018/1/22 21:09 # @Author :FengXiaoqing # @file   :jsq.py def add(string):     total = 0     numbers = []     numbers += string.split("+")     for num in numbers:         total += in

Selenium2学习-039-WebUI自动化实战实例-文件上传下载

通常在 WebUI 自动化测试过程中必然会涉及到文件上传的自动化测试需求,而开发在进行相应的技术实现是不同的,粗略可划分为两类:input标签类(类型为file)和非input标签类(例如:div.a或其他方式结合实现). 非input标签类因其有各式各样的实现方式,需要考虑具体的场景,因而此文对此类文件上传不做讲解,以input标签实现文件上传的方式进行讲解,请知悉! 解决方案有如下三种: 1.定位元素直接通过sendkeys修改input标签的文件链接: 2.通过第三方控件(AutoIt)编