1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8" />
  5. <title>jquery计算器http://www.cnblogs.com/boyzi/</title>
  6. <script src="js/jquery-1.8.2.min.js"></script>
  7.  
  8. </head>
  9. <body>
  10. <div><input type="text" id="numText" /></div>
  11. <div>
  12. <input type="button" value='0' class="num0 num numSZ" />
  13. <input type="button" value='1' class="num1 num numSZ" />
  14. <input type="button" value='2' class="num2 num numSZ" />
  15. <input type="button" value='3' class="num3 num numSZ" />
  16. <input type="button" value='4' class="num4 num numSZ" />
  17. <input type="button" value='5' class="num5 num numSZ" />
  18. <input type="button" value='6' class="num6 num numSZ" />
  19. <input type="button" value='7' class="num7 num numSZ" />
  20. <input type="button" value='8' class="num8 num numSZ" />
  21. <input type="button" value='9' class="num9 num numSZ" />
  22. <input type="button" value='.' class="numP num numSZ" />
  23. </div>
  24. <div>
  25. <input type="button" value='+' class="numJA numYS num" />
  26. <input type="button" value='-' class="numJian numYS num" />
  27. <input type="button" value='*' class="numCh numYS num" />
  28. <input type="button" value='/' class="numChu numYS num" />
  29. <input type="button" value='=' class="numEq num" />
  30. <input type="button" value='C' class="numClear num" />
  31. </div>
  32. </body>
  33. <script type="text/javascript">
  34. $(function(){
  35. $(".numYS").click(function(){//运算符操作
  36. setFh($(this).val());
  37. });
  38.  
  39. $(".numEq").click(function(){//运算符操作
  40. setFh("");
  41. });
  42.  
  43. $(".numClear").click(function(){
  44. $("#numText").val(0)
  45. })
  46. $(".numSZ").click(function(){//单击数字执行方法
  47. var nowVal=$("#numText").val();
  48. if(nowVal>0){
  49. if(nowVal.indexOf(".")!=-1&&$(this).val()=="."){nowVal=nowVal;}
  50. else{nowVal=nowVal+""+$(this).val()+"";}
  51. }
  52. else{
  53. if(nowVal==null||nowVal==""){
  54. if($(this).val()=="."){nowVal=0;}
  55. else if(nowVal==0){
  56. if($(this).val()==0){nowVal=0;}
  57. else{nowVal=$(this).val();}
  58. }
  59. }
  60. else{
  61.  
  62. if(nowVal==0&&$(this).val()=="0"&&nowVal.indexOf(".")==-1){nowVal=0;}
  63. else{
  64. if($(this).val()=="."&&nowVal.indexOf(".")!=-1){
  65. if(setFh("hasPat")[1].indexOf(".")!=-1){nowVal=nowVal;}
  66. else{
  67. if(setFh("hasPat")[1]==""||setFh("hasPat")[1]==null){nowVal=nowVal+"0.";}
  68. else{nowVal=nowVal+$(this).val();}
  69. }
  70. }
  71. else{
  72. if(nowVal==0&&$(this).val()!="."){
  73. if(nowVal.indexOf(".")!=-1){nowVal="0."+$(this).val();}
  74. else{nowVal=$(this).val();}
  75. }
  76. else{
  77.  
  78. if(setFh("hasPat")[1].indexOf(".")!=-1){
  79. nowVal=nowVal+""+$(this).val()+"";
  80. }
  81. else{
  82. if(setFh("hasPat")[1]>0){nowVal=nowVal+""+$(this).val()+"";}
  83. else{
  84. if(setFh("hasPat")[1].indexOf("0")!=-1){
  85. if($(this).val()==0){nowVal=nowVal;}
  86. else{
  87. if(setFh("hasPat")[1]==0&&$(this).val()!="."){
  88. nowVal=setFh("hasPat")[0]+setFh("Fh")+$(this).val();
  89. }
  90. else{
  91. nowVal=nowVal+"0.";
  92. }
  93.  
  94. }
  95. }
  96. else{
  97. if($(this).val()!="."){
  98. nowVal=nowVal+""+$(this).val()+"";
  99. }
  100. else{nowVal=nowVal+"0."}
  101. }
  102. }
  103. }
  104. }
  105. }
  106. }
  107. }
  108. }
  109. $("#numText").val(nowVal)
  110. });
  111.  
  112. function setYs(strFh,thisVal){//输入=运算符方法
  113. var nowVal=$("#numText").val();
  114. var str=nowVal.split(strFh);
  115.  
  116. var strEnd=str[1];
  117.  
  118. if(strEnd==null||strEnd==""){
  119. $("#numText").val(str[0]+""+thisVal+"");
  120. }
  121. else{
  122. $("#numText").val(eval(str[0]+strFh+str[1])+""+thisVal+"");
  123. }
  124. }
  125.  
  126. function setFh(tVal){//输入运算符方法
  127. var nowVal=$("#numText").val();
  128. var strFh="";
  129. var returnStr="11";
  130. if(nowVal>=0){
  131. if(tVal!='hasPat'){
  132. if(nowVal.indexOf(".")!=-1){
  133. var nstr=nowVal.split(".");
  134. if(nstr[1]>0){$("#numText").val(nowVal+""+tVal+"");}
  135. else{$("#numText").val(nstr[0]+""+tVal+"");}
  136. }
  137. else if(tVal!="Fh"){$("#numText").val(nowVal+""+tVal+"");}
  138. }
  139. }
  140.  
  141. else{
  142. if(nowVal.indexOf("+")!=-1){strFh='+';}
  143. else if(nowVal.indexOf("-")!=-1){strFh='-';}
  144. else if(nowVal.indexOf("*")!=-1){strFh='*';}
  145. else if(nowVal.indexOf("/")!=-1){strFh='/';}
  146. var strArr1=nowVal.split(strFh);
  147. if(tVal=='hasPat'){returnStr=strArr1;}
  148. else{
  149. if(tVal=="Fh"){returnStr=strFh;}
  150. else{setYs(strFh,tVal);}
  151. }
  152. }
  153.  
  154. return returnStr;
  155. }
  156. });
  157. </script>
  158. </html>

闲来无事写一个jquery计算器,没有进行封装......的更多相关文章

  1. 如何写一个jquery插件

      本文总结整理一下如何写一个jquery插件?虽然现今各种mvvm框架异常火爆,但是jquery这个陪伴我们成长,给我们带来很多帮助的优秀的库不应该被我们抛弃,写此文章,作为对以往欠下的笔记的补充, ...

  2. 自己写一个 jQuery 插件

    我知道这一天终将会到来,现在,它来了. 需求 开发 SharePoint 的 CSOM 应用时,经常需要在网页上输出一些信息. 这种需求和 alert 的弹窗.F12 的断点查看信息的场景是不一样的: ...

  3. 如何使用jQuery写一个jQuery插件

    jQuery插件其实是前端框架的思维,构成一个框架,个人认为必须满足以下几个基础条件:1. 可重用,2. 兼容性,3. 维护方便,虽说现在有很多比较成熟的前端框架,但是也有部分存在配置麻烦,学习成本大 ...

  4. 自己写一个jQuery垂直滚动栏插件(panel)

    html中原生的滚动栏比較难看,所以有些站点,会自己实现滚动栏,导航站点hao123在一个側栏中,就自己定义了垂直滚动栏,效果比較好看,截图例如以下: watermark/2/text/aHR0cDo ...

  5. 玉渊潭赏樱花有感:从无到有写一个jQuery开源插件

    “玉渊潭公园樱花节”是每年樱花绽放时,都会在玉渊潭公园樱举办樱花节,游客前往玉渊潭公园,可以欣赏到20个品种2000株樱花.2016玉渊潭樱花节时间:3月中旬-4月中旬观赏最佳,2016年3月23日开 ...

  6. 亲手用模块化方式写一个jquery QQ表情插件。

    在回复或是评论的时候,很多时间都需要有回复表情的功能,然后而需要插入QQ表情可以是最常见的. 插件也写多很多个了,这次写插件就下了一个决定.就是使用模块化来开发. 最后在我的源代码中有这样子一段: v ...

  7. 使用java写一个小白计算器

    有点小意思~ package ok; import java.awt.BorderLayout; import java.awt.Color; import java.awt.GridLayout; ...

  8. 如何写一个Js上传图片插件。

    项目里面需要一个上传图片的插件,找了半天没有找到满意的,算了 不找了,自己写一个吧,顺便复习一下js方面的知识.完成之后效果还不错,当然还要继续优化,源码在最后. 介绍一种常见的js插件的写法 ; ( ...

  9. 通过用jQuery写一个页面,我学到了什么

    概述 前几天面试,hr发来一个测试文件,让我做做看.我一看,其实就是根据PSD需求写一个页面,再加上一些互动效果即可. 刚好我之前学了切图,jquery等知识还没练手过,于是高兴的答应了. 最后花了3 ...

随机推荐

  1. 管理神话之"我还能做大量的技术工作"

    “你要知道,如果你想做好一件事,你就必须自己动手.”Clive一边咕哝着,一边走回自己的房间. Susan原本在埋头工作.她抬起头来,叹了口气.然后起身,跟着Clive穿过走廊,来到他的房间门口.她敲 ...

  2. “龙井”开箱评测 |Alibaba Dragonwell 新手上路指南

    作者|阿里云智能事业群 高级技术专家 陆传胜 阿里巴巴有着最丰富的 Java 应用场景,覆盖电商,金融,物流等众多领域,是世界上最大的 Java 用户之一. 2019 年 3 月 21 日,阿里巴巴在 ...

  3. QT语言翻译

    QT中多语言的实现方式: 1.代码中tr运用 2.使用工具生成ts文件 3.翻译ts文件 4.生成qm文件 5.程序加载 以下内容程序加载时放入即可. QString appPath = QCoreA ...

  4. 系统重装后,Mysql数据库重装加载原来数据库

    相信不只我一个人因为重新装了系统后,导致mysql数据库无法使用的问题.尽管可以重新安装一个mysql服务端程序在自己的电脑上,但是要如何才能够将之前的数据库也一并重新恢复呢? 今天,我找到了解决之道 ...

  5. Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第九章:贴图

    原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第九章:贴图 代码工程地址: https://github.com/j ...

  6. Java练习 SDUT-2728_最佳拟合直线

    最佳拟合直线 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 在很多情况下,天文观测得到的数据是一组包含很大数量的序列点 ...

  7. 【Leetcode链表】环形链表(141)

    题目 给定一个链表,判断链表中是否有环. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始). 如果 pos 是 -1,则在该链表中没有环. 示例 1: ...

  8. 【转】solr deltaImportQuery deltaQuery parentDeltaQuery 用法规则

    solr deltaImportQuery deltaQuery parentDeltaQuery 用法规则 by 建良 · 2013 年 6 月 20 日 query是获取全部数据的SQL delt ...

  9. mysql 忘记root密码的处理办法

    参考地址: https://blog.csdn.net/vv19910825/article/details/82979563 1.修改配置文件mysql\bin\my.ini 在文本  [mysql ...

  10. Mysql查询某个月的每一天的数据

    需求:查询最近三个月的每一天的业绩总和 因为最近三个月每个月的天数是不一样,所以不能用这篇文章:Mysql查询最近30天的数据(每天的业绩总和数据) 介绍的用固定多少天去查数据.需要一个新方法. 一. ...