zoukankan      html  css  js  c++  java
  • HTML5 网页计算器 按键移上去背景色会改变

    在这里插入图片描述

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title>网页计算器</title>
    		<script type="text/javascript" src="jquery.js"></script>
    		<style type="text/css">
    		
        #Calculator{
              padding: 5px;
            margin: auto;
    		border-radius:10px;
            margin-top: 60px;
            border-spacing: 0px;
        }
    	#display{
    	
    	background-color: gray;
    	color:black;
    	font-size: 3.125rem;
    	font-family:黑体;
    	    }
        .number{
    		 50px;
    		height: 50px;
    		background-color:burlywood;
    		color:black;
    		font-size: large;
    		font-family:黑体;
    		}
        .number:hover{
           background-color: blue; 
        }
    	.numbe{
    		 50px;
    		height: 50px;
    		background-color: white;
    		color:black;
    		font-size: large;
    		font-family:黑体;
    		}
    	.numbe:hover{
    	   background-color: green; 
    	}
    	.num{
    		 50px;
    		height: 50px;
    		opacity: 0.8;
    		background-color: gray;
    		color:black;
    		font-size: large;
    		font-family:黑体;
    		}
    	.num:hover{
    	   background-color: red;
    		
    	}
    </style>
    <script type="text/javascript" src="jquery.js"></script>
    <script  type="text/javascript">
        $(function(){
                var $td=$("td");
       
            $td.each(function(){
                $(this).click(function(){
                    var Text=$("#display").text().trim();
                    $("#display").append($(this).text());
                    switch ($(this).text()){
                        case "C":
                            $("#display").text("");
                            break;
                        case "D":
                            $("#display").text(Text.substr(0,Text.length-1));
                            break;
                        case "=":
                            function  compute(content){
                                var index=content.lastIndexOf("(");
                                if(index>-1){
                                    var nextIndex=content.indexOf(")",index);
                                    if(nextIndex>-1){
                                        //递归的思想,一步一步的递归
                                        var result=compute(content.substring(index+1,nextIndex));
                                        return    compute(content.substring(0,index)+(""+result)+content.substring(nextIndex+1))
                                    }
    
                                }
                                index=content.indexOf("+");
                                if(index>-1){
                                    return compute(content.substring(0,index))+compute(content.substring(index+1));
                                }
                                index=content.lastIndexOf("-");
                                if(index>-1){
                                    return compute(content.substring(0,index))-compute(content.substring(index+1));
                                }
                                //如果返回的content为空,则返回0
                                index=content.indexOf("*");
                                if(index>-1){
                                    return compute(content.substring(0,index))*compute(content.substring(index+1));
                                }
                                index=content.lastIndexOf("/");
                                if(index>-1){
                                    return compute(content.substring(0,index))/compute(content.substring(index+1));
                                }
                                if(content==""){
                                    return 0;
                                }else{
                                //将content字符串转化为数值,
                                //这儿也可以使用一些技巧,比如 content-1+1,使用加减操作符,将字符串转化为数值
                                    return Number(content);
                                }
                            }
                            $("#display").text(compute(Text));
                    }
                })
    
            });
        })
    </script>
    <script type="text/javascript">
    	 var results="";
        var calresults="";
        var lastkey="";
    	var user="";
        var re1=/^[*|/].+/;
        var re2=/.+[*|/]$/;
        var re3=/(+|-|*|/)/;
        var re4=/.+[+|-|*|/]{1,99}.+/
        var re5=/d.+/;
        function calculater () {
    
            if (event.srcElement.innerText=="=") {
                return;
            }
            if (event.srcElement.innerText=="C") {
                results="";
    			
    			if(display.innerText.length==0)
    			{
    				alert("已经清零")
    		    }
    	          display.innerText="";
                return;
            }
         if(display.innerText.length==0&&(event.srcElement.innerText=="+"||event.srcElement.innerText=="*"||event.srcElement.innerText=="/"))
         {
    		 results="";
         	 display.innerText="";
         	return;
         }
    		 if (event.srcElement.id=="display") {
    		    return;
    		  }
            if (results.match(re1)) {
             display.innerText="输入错误";
             results="";
             return;
          }
            
            if(lastkey=="="&&event.srcElement.innerText.match(re3)){
               results=calresults;
            }
    	if((lastkey=="-"||lastkey=="*"||lastkey=="+"||lastkey=="/")&&(event.srcElement.innerText=="+"||event.srcElement.innerText=="*"||event.srcElement.innerText=="/"||event.srcElement.innerText=="-"))
           {
    		results=user+event.srcElement.innerText;
    		display.innerText=results;
    		 return;
    	   }
    	   user=results;
           results+=event.srcElement.innerText;
           lastkey=event.srcElement.innerText;
           display.innerText=results;
              }
        function result(){
             if (results.match(re1)||results.match(re2)) {
             display.innerText="输入错误";
             results="";
             return;
          }
          calresults=eval(results);
          display.innerText=calresults;
          lastkey="=";
          results="";
        }
    </script>
    	</head>
    	<body>
    		<div class="main">
    
    		<table id="Calculator" onClick="calculater()" border="5" bordercolor="black" >
    			<tbody>
            <tr height="80">
    			<td id="display"  colspan="5" ></td>
            </tr>
            <tr align="center">
                <td class="number" >1</td>
                <td class="number" >2</td>
                <td class="number" >3</td>
                <td class="num" >+</td>
                <td class="number"  id="deletesign" >C</td>   
            </tr>
            <tr align="center">
                <td class="number" >4</td>
                <td class="number" >5</td>
                <td class="number" >6</td>
                <td class="num" >-</td>
                <td rowspan="3" class="numbe" onclick="result()">=</td> 
            </tr>
            <tr align="center">
                <td class="number" >7</td>
                <td class="number" >8</td>
                <td class="number" >9</td>
                <td class="num" >*</td>
            </tr>
            <tr align="center">
                <td class="num" >√</td>
                <td class="number" >0</td>
                <td class="number" >.</td>
                <td class="num" >/</td>            
    
            </tr>
    		</tbody>
    		</table>
    		</div>
    	</body>
    </html>
    
    
  • 相关阅读:
    中国软件外包IT公司最新排名
    DJ舞曲、音乐与爱好!
    linux论坛
    IBM P 系列小型机的控件面板功能~!(转用)
    JDBC Driver 驱动 For SQL 2008 Server /2005 /2000
    年报盘点:149家公司筹码大幅集中
    公式指标—精华
    观峰雨个人空间 2010 STOCK ADVICE !
    IntelliJ IDEA提示Cannot resolve symbol
    今天天变的好冷了~
  • 原文地址:https://www.cnblogs.com/lzxulxy/p/11646475.html
Copyright © 2011-2022 走看看