首页 > 其他分享 >Ext实现简单计算器

Ext实现简单计算器

时间:2022-11-29 13:40:18浏览次数:33  
标签:symbol 计算器 js Ext oldValue 简单 btn expression

以下是本人原创,如若转载和使用请注明转载地址。本博客信息切勿用于商业,可以个人使用,若喜欢我的博客,请关注我,谢谢!​​少帅的博客​​

使用Ext实现简单计算器,网页版实现

1、页面部分calculator.jsp


 

<%@page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

 

<!DOCTYPE HTMLPUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<basehref="<%=basePath%>">

    

<title>基于ExtJS的计算器</title>

    

<linkrel="stylesheet"type="text/css"href="<%=basePath%>js/resources/css/ext-all.css">

<scripttype="text/javascript"src="<%=basePath%>js/ext-debug.js"></script>

<scripttype="text/javascript"src="<%=basePath%>js/ext-all-debug.js"></script>

<scripttype="text/javascript"src="<%=basePath%>js/jquery-1.9.0.js"></script>

<scripttype="text/javascript">

function(){

//$("#block").hide();

"#btn").click(function(){

"#block").toggle();

        });

    });

function

    

"Ext.Button", {

"btn"),

"计算器",

true,     //是否允许按钮被按下的状态

true,     //是否允许按钮在弹起和按下两种状态中切换

"bt1"

        });

      

new Ext.dd.DDProxy('block');//定义面板可以任意拖动

//Ext.Msg.alert('提示', '执行方法 Ext.onReady()');//测试ext能否使用

var  calPanel =  new  Ext.panel.Panel({ //定义面板

'计算器' , //标题

'block', //将显示指向页面的body

//设置间隔

//面板宽度

true,//定义面板的关闭按钮,默认是false

                layout:{

'table'

//设置表格布局默认列数为4列

                },

true

                tbar:[

'公式:'

new

'expression'

true

'text-align:right'

                    }),

'='

new

'result'

                        width:60

                    })

                ],

'button'

                defaults:{

                    minWidth:50,

                    handler:btnClick

                },

//定义按钮

'1' ,symbol: '1'

'2' ,symbol: '2'

'3' ,symbol: '3'

'(' ,symbol: '('

')' ,symbol: ')'

'4' ,symbol: '4'

'5' ,symbol: '5'

'6' ,symbol: '6'

'+' ,symbol: '+'

'-' ,symbol: '-'

'7' ,symbol: '7'

'8' ,symbol: '8'

'9' ,symbol: '9'

'*' ,symbol: '*'

'/' ,symbol: '/'

'0' ,symbol: '0'

'.' ,symbol: '.'

'=' ,symbol: '='

'C' ,symbol: 'clear'

'back' ,symbol: 'back'

                ]

            })

var  expression = Ext.getCmp( 'expression' ); //取得id为expression的组件

var  result = Ext.getCmp( 'result' ); //取得id为result的组件

function  btnClick(btn){  //定义按钮事件

var  oldValue = expression.getValue();  //得到输入的值

if (btn.symbol ==  'back' ){  //如果选择后退键

                    oldValue = oldValue.subString(0,oldValue.length - 1);

else   if (btn.symbol ==  'clear' ){ //如果选择呢清除键

''

''

else   if (btn.symbol ==  '=' ){ //如果选择等于键

                    calculate();

                } 

//else   if (btn.symbol ==  '.' ){ //如果选择小数点

//if (oldValue.indexOf( '.' ) != -1){

//  return ;

//}

//} 

else

                    oldValue += btn.symbol;

                }

                expression.setValue(oldValue);

            }

            

function

var  str = expression.getValue();  //取得表达式的值

if (!Ext.isEmpty(str)){  //如果表达式的值不为空

//利用ajax异步调用

'calAction.action' , //请求服务器的地址

'post',

//请求参数

function (options,success,response){ //回调函数

if (success){ //计算成功的话

//设置结果框的值

else { //请求出错时,输出框显示erro r

'error'

                            }

                        }

                    })

                }

            }

        });  

    

</script>

    

 

</head>

  

<body>

<divid="btn"style="width: 20"></div>

<divid="block"style="width: 270"></div>

</body>

​</html>​

页面形式如下:

Ext实现简单计算器_css

 ​

 


作者:少帅




标签:symbol,计算器,js,Ext,oldValue,简单,btn,expression
From: https://blog.51cto.com/u_15683012/5894832

相关文章

  • 计算器之webservice实现
    以下是本人原创,如若转载和使用请注明转载地址。本博客信息切勿用于商业,可以个人使用,若喜欢我的博客,请关注我,谢谢!​​​一、根据我的上一篇博客​​MyEclipse构建WebService......
  • 阿里云ELK报错:"reason": "Fielddata is disabled on text fields by default. Set fi
    原因是url_date这个字段类型动态转成了text类型,只需要把在kibana索引管理,索引模板添加url_date字段为date类型就可以了,把旧的索引删除,新生成的索引就沿着这个模板 ......
  • html textarea文本域高度自适应
    1、可直接​<!DOCTYPEhtml><html><head><metacharset="utf-8"><scriptsrc="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script><title>菜鸟教程(runoob.com......
  • app直播源码,flutter Text自动计算文本内容的宽度
    app直播源码,flutterText自动计算文本内容的宽度一、什么是TextPainter在内容开始之前,我们先来看一下它的属性 TextPainter({  InlineSpan?text,   //Tex......
  • mysql,一些简单的时间处理
    1.将时间增加一天SELECT**DATE_ADD(create_at,INTERVAL1DAY)**FROMcourses;2.计算从2019年03月26日到创建时间(created_at)相差的天数,结果列名以date_diff显......
  • 第2-4-8章 规则引擎Drools实战(1)-个人所得税计算器
    目录9.Drools实战9.1个人所得税计算器9.1.1名词解释9.1.2计算规则9.1.2.1新税制主要有哪些变化?9.1.2.2资较高人员本次个税较少,可能到年底扣税增加?9.1.2.3关于年度汇......
  • WIN10计算器-关于十六进制
      1.HEX代表十六进制2.DEC代表十进制3.OCT代表八进制4.BIN代表二进制   ......
  • Go并发编程-context包
    作用context主要用来在goroutine之间传递上下文信息,包括:取消信号超时时间截止时间传值原理:contex接口Go里并没有直接为我们提供一个统一的context对象,而是......
  • SynchronousQueue的简单介绍
    SynchronousQueue有点特殊,具备生产者和消费者,但是生产者生产后会执行阻塞,当产生的数据有人取走的时候,生产者的阻塞状态会解除,再次生产再次阻塞,再次等待消费者解锁,多个线程......
  • Spring之SpringContext
    一、概述1.SpringContext概念创建上下文并将BeanPostProcessor加载到spring2.SpringApplicationContext概念Spring通过应用上下文(ApplicationContext)装载bean的定义......