`
PrisonBreak
  • 浏览: 97508 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Extjs4学习笔记-计算器

 
阅读更多

主要练习addBehaviors()函数使用:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<title>计算器</title>
		
		<link rel="stylesheet" type="text/css" href="../extjs/resources/css/ext-all.css" />
		<script type="text/javascript" src="../extjs/bootstrap.js"></script>
		<script type="text/javascript" src="../extjs/ext-lang-zh_CN.js"></script>
		
		<style type="text/css">
			table {
				margin: 20px 0 0 20px;
				font-size: 20px;
				line-height: 40px;
				border: 1px solid #000;
				padding: 3px;
			}
			
			th {
				text-align: center;
			}
			
			#Calculator {
				border: 1px solid #000;
			}
			
			#result {
				width: 156px;
				height: 30px;
				font-size: 16px;
				font-weight: bold;
			}
			
			.cal, .number, .op, .sign {
				width: 40px;
				height: 40px;
				text-align: center;
			}
			
			.cmd {
				width: 80px;
				height: 40px;
				text-align: center;
			}
		</style>
		
		<script type="text/javascript">
		Ext.onReady(function() {
			var cal = function() {
				switch(op) {
					case "-" :
						first = parseFloat(first) - parseFloat(second);
						break;
					case "*" :
						first = parseFloat(first) * parseFloat(second);
						break;
					case "/" :
						second = parseFloat(second);
						if(second != 0) {
							first = parseFloat(first) - parseFloat(second);
						}
						break;
					default:
						first = parseFloat(first) + parseFloat(second);
						break;
				}
				op = "";
				if(arguments.length > 0) {
					op = arguments[0];
				}
				second = "";
				result.value = first;
			}
			
			var first = "";	//用来保存第一个数字
			var second = "";	//用来保存第二个数字
			var op = "";	//用来保存运算符
			var result = Ext.getDom("result");	//指向结果文本框的DOM对象
			
			Ext.addBehaviors({
				
				"input.number@click" : function(e, el) {
					if(Ext.isEmpty(op)) {
						if(!(el.value == 0 && first == 0)) {
							first = first + el.value;
							result.value = first;
						}
					} else {
						if(!(el.value == 0 && second == 0)) {
							second = second + el.value;
							result.value = second;
						}
					}
				},
				
				"input.cmd@click" : function(e, el) {
					if(el.value == "C") {
						if(Ext.isEmpty(op)) {
							first = "";
						} else {
							second = "";
						}
						result.value = "0";
					} else {
						cal();
					}
				},
				
				"input.sign@click" : function(e, el) {
					if(el.value == ".") {
						if(Ext.isEmpty(op)) {
							if(first.toString().indexOf(".") == -1) {
								first += ".";
								result.value = first;
							}
						} else {
							if(second.toString().indexOf(".") == -1) {
								second += ".";
								result.value = second;
							}
						}
					} else {
						if(Ext.isEmpty(op)) {
							first *= -1;
							result.value = first;
						} else {
							second *= -1;
							result.value = sceond;
						}
					}
				},
				
				"input.op@click" : function(e, el) {
					if(Ext.isEmpty(op) || Ext.isEmpty(second)) {
						op = el.value;
						result.value = "0";
					} else {
						cal(el.value);
					}
				}
				
			});
		});
		</script>
		
	</head>
	<body>
		<table cellpadding="1" cellspacing="1" border="0">
			<tr style="border: 1px solid #000; background: #2159c2; color: #fff">
				<th colspan="4">计算器</th>
			</tr>
			
			<tr>
				<td colspan="4" align="center"><input id="result" readonly=true style="text-align: right" type="text" value="0" /></td>
			</tr>
			
			<tr>
				<td colspan="2"><input class="cmd" type="button" value="=" /></td>
				<td colspan="2"><input class="cmd" type="button" value="C" /></td>
			</tr>
			
			<tr>
				<td><input class="number" type="button" value="7" /></td>
				<td><input class="number" type="button" value="8" /></td>
				<td><input class="number" type="button" value="9" /></td>
				<td><input class="op" type="button" value="+" /></td>
			</tr>
			
			<tr>
				<td><input class="number" type="button" value="4" /></td>
				<td><input class="number" type="button" value="5" /></td>
				<td><input class="number" type="button" value="6" /></td>
				<td><input class="op" type="button" value="-" /></td>
			</tr>
			
			<tr>
				<td><input class="number" type="button" value="1" /></td>
				<td><input class="number" type="button" value="2" /></td>
				<td><input class="number" type="button" value="3" /></td>
				<td><input class="op" type="button" value="*" /></td>
			</tr>
			
			<tr>
				<td><input class="sign" type="button" value="-/+" /></td>
				<td><input class="number" type="button" value="0" /></td>
				<td><input class="sign" type="button" value="." /></td>
				<td><input class="op" type="button" value="/"/ /></td>
			</tr>
		</table>
	</body>
</html>

 

分享到:
评论

相关推荐

    【藏宝图】(珍藏版)2012java开发工程师必备精品资料(115)

    这个项目采用ExtJs+struts2+hibernate+spring等技术栈实现了图书管理系统,适合中级开发者用来学习企业级应用的开发方法。 #### 二十四、java聊天程序 该聊天程序支持私聊、公聊、截图、文件传输等功能,是一份...

    个性化的E-MAIL软件 Icredimail2001b

    个性化的E-MAIL软件 Icredimail2001b 充满个性化E-MAIL软件,可以选择信纸动画和声音及签名

    《基于YOLOv8的蹦床馆识别系统》(包含源码、完整数据集、可视化界面、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。

    MOCD207M 产品规格书

    MOCD207M 丝印D207 SOP8 1.25V 150mA晶体管输出光耦

    2024年迎接上市公司重组并购浪潮推动出版行业企业数字化转型报告.pdf

    2024年迎接上市公司重组并购浪潮推动出版行业企业数字化转型报告

    基于Andorid的闹钟功能设计.zip

    基于Andorid的闹钟功能设计实现源码,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。

    电商_微信小程序_学习项目_电商功能演示_1742849441.zip

    电商_微信小程序_学习项目_电商功能演示_1742849441.zip

    《基于YOLOv8的网球发球分析系统》(包含源码、完整数据集、可视化界面、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。

    React_应用开发_github-notetaker_实战_1742847797.zip

    app开发

    《基于YOLOv8的隧道安全监测系统》(包含源码、完整数据集、可视化界面、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。

    5小时零基础入门小程序云开发-2.7G课程网盘链接提取码下载.txt

    本套课程带领大家零基础入门小程序云开发。摆脱后台自己实现小程序后台,学会音视频小程序的开发,学会小程序图片的上传与管理,学习人工智能识别图片,用小程序模仿微信朋友圈,实现一个云相册。

    移动开发_Android_MVC_调试工具框架BeeFram_1742846880.zip

    移动开发_Android_MVC_调试工具框架BeeFram_1742846880.zip

    vue3-element-admin基础框架带权限参考文档:https://vue3-element-admin-site.midfar.com

    vue3-element-admin基础框架带权限 参考文档:https://vue3-element-admin-site.midfar.com

    《基于YOLOv8的儿童行为监测系统》(包含源码、完整数据集、可视化界面、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。

    Python网页文本爬虫:基于小说网站的基础爬虫实现与解析

    内容概要:本文介绍了Python网页文本爬虫的基本概念及其应用,特别是针对小说网站的爬虫实现。文中详细讲解了爬虫的工作原理和技术要点,如urllib库的使用、字符串操作以及正则表达式的初步应用。此外,还提供了完整的爬虫代码示例,涵盖从HTML页面下载到数据提取和处理的全过程。通过对小说网站的具体案例分析,展示了如何利用Python编写简单的爬虫程序来抓取并保存所需信息。 适合人群:对Python编程有一定基础的学习者,尤其是希望了解和掌握网页爬虫技术的初学者。 使用场景及目标:适用于想要快速入门Python爬虫技术的人群,帮助他们理解爬虫的基本原理和实现方法,为后续深入学习打下坚实基础。具体应用场景包括但不限于自动化数据收集、信息检索系统构建等。 其他说明:虽然本文主要关注于基础爬虫的实现,但同时也提到了一些进阶的技术方向,如HTTP长连接和多线程的应用,供有兴趣进一步探索的读者参考。

    jiguang.zip

    jiguang.zip

    weifuchenggg_JKBD_1742849495.zip

    weifuchenggg_JKBD_1742849495.zip

    移动开发_iOS_Safari快捷方式_应用内功能演示_1742853882.zip

    app开发

    移动开发_iOS_Scriptable_TSX_自动化脚本库_1742849101.zip

    app开发

Global site tag (gtag.js) - Google Analytics