200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > js css 实现简易计算器【HTML】

js css 实现简易计算器【HTML】

时间:2024-03-21 00:30:27

相关推荐

js css 实现简易计算器【HTML】

web前端|html教程

css,js,计算器,简易

web前端-html教程

网页图片源码下载,vscode图片如何居中,ubuntu 克隆磁盘,tomcat不要闪退,搞爬虫,php 禁用缓存,seo顾问达人引流推广,网站源码都有哪些后门,汽车服务公司简介模板lzw

JS+CSS3实现计算器特效

C

789+456-123÷0.=x

礼物说网站源码,vscode所有代码补全,Ubuntu布置ssr,tomcat+技术简介,爬虫头盔,php 截取小数,抖音seo营销专家,html网站网页完整代码,php cms 企业模板下载lzw

// Get all the keys from documentvar keys = document.querySelectorAll(#calculator span);var operators = [+, -, x, ÷];var decimalAdded = false;// Add onclick event to all the keys and perform operationsfor(var i = 0; i -1 || lastChar == .)equation = equation.replace(/.$/, \);if(equation)input.innerHTML = eval(equation);decimalAdded = false;}// Basic functionality of the calculator is complete. But there are some problems like // 1. No two operators should be added consecutively.// 2. The equation shouldn start from an operator except minus// 3. not more than 1 decimal should be there in a number// Well fix these issues using some simple checks// indexOf works only in IE9+else if(operators.indexOf(btnVal) > -1) {// Operator is clicked// Get the last character from the equationvar lastChar = inputVal[inputVal.length - 1];// Only add operator if input is not empty and there is no operator at the lastif(inputVal != \ && operators.indexOf(lastChar) == -1) input.innerHTML += btnVal;// Allow minus if the string is emptyelse if(inputVal == \ && btnVal == -) input.innerHTML += btnVal;// Replace the last operator (if exists) with the newly pressed operatorif(operators.indexOf(lastChar) > -1 && inputVal.length > 1) {// Here, . matches any character while $ denotes the end of string, so anything (will be an operator in this case) at the end of string will get replaced by new operatorinput.innerHTML = inputVal.replace(/.$/, btnVal);}decimalAdded =false;}// Now only the decimal problem is left. We can solve it easily using a flag decimalAdded which well set once the decimal is added and prevent more decimals to be added once its set. It will be reset when an operator, eval or clear key is pressed.else if(btnVal == .) {if(!decimalAdded) {input.innerHTML += btnVal;decimalAdded = true;}}// if any other key is pressed, just append itelse {input.innerHTML += btnVal;}// prevent page jumpse.preventDefault();} }

htm后台源码,安装ubuntu黑屏字母,tomcat內存一般配置,商业爬虫账号购买,php学习交流网站外包技术,粤语傻seolzw

/* Basic reset */* {margin: 0;padding: 0;box-sizing: border-box;/* Better text styling */font: bold 14px Arial, sans-serif;}/* Finally adding some IE9 fallbacks for gradients to finish things up *//* A nice BG gradient */html {height: 100%;background: white;background: radial-gradient(circle, #fff 20%, #ccc);background-size: cover;}/* Using box shadows to create 3D effects */#calculator {width: 325px;height: auto;margin: 100px auto;padding: 20px 20px 9px;background: #9dd2ea;background: linear-gradient(#9dd2ea, #8bceec);border-radius: 3px;box-shadow: 0px 4px #009de4, 0px 10px 15px rgba(0, 0, 0, 0.2);}/* Top portion */.top span.clear {float: left;}/* Inset shadow on the screen to create chinaz */.top .screen {height: 40px;width: 212px;float: right;padding: 0 10px;background: rgba(0, 0, 0, 0.2);border-radius: 3px;box-shadow: inset 0px 4px rgba(0, 0, 0, 0.2);/* Typography */font-size: 17px;line-height: 40px;color: white;text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);text-align: right;letter-spacing: 1px;}/* Clear floats */.keys, .top {overflow: hidden;}/* Applying same to the keys */.keys span, .top span.clear {float: left;position: relative;top: 0;cursor: pointer;width: 66px;height: 36px;background: white;border-radius: 3px;box-shadow: 0px 4px rgba(0, 0, 0, 0.2);margin: 0 7px 11px 0;color: #888;line-height: 36px;text-align: center;/* prevent selection of text inside keys */user-select: none;/* Smoothing out hover and active states using css3 transitions */transition: all 0.2s ease;}/* Remove right margins from operator keys *//* style different type of keys (operators/evaluate/clear) differently */.keys span.operator {background: #FFF0F5;margin-right: 0;}.keys span.eval {background: #f1ff92;box-shadow: 0px 4px #9da853;color: #888e5f;}.top span.clear {background: #ff9fa8;box-shadow: 0px 4px #ff7c87;color: white;}/* Some hover effects */.keys span:hover {background: #9c89f6;box-shadow: 0px 4px #6b54d3;color: white;}.keys span.eval:hover {background: #abb850;box-shadow: 0px 4px #717a33;color: #ffffff;}.top span.clear:hover {background: #f68991;box-shadow: 0px 4px #d3545d;color: white;}/* Simulating "pressed" effect on active state of the keys by removing the box-shadow and moving the keys down a bit */.keys span:active {box-shadow: 0px 0px #6b54d3;top: 4px;}.keys span.eval:active {box-shadow: 0px 0px #717a33;top: 4px;}.top span.clear:active {top: 4px;box-shadow: 0px 0px #d3545d;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。