jquery钢琴键盘计算器插件

所属分类: 网页特效-实用工具    2023-09-26 09:51:50

jquery钢琴键盘计算器插件 ie兼容6
 查看演示  登录后下载 温馨提示
登录会员即可享受免费下载
 我要建站

jquery钢琴键盘计算器插件(共4个文件)

    • index.html

使用方法

$(function() {
	var operatorsArr = ['+', '-', '*', '/', '%', '^'],
		operatorsNotDoneArr = ['√', 'tan', 'cos', 'sin', 'exp', '!'];
	
	$('.keys .operators > *, .keys .numbers > *').click(function() {
		var clickedKey = $(this).text(),
			resultContent = $('.screens .result').text(),
			msContent;

		switch(clickedKey) {
			case 'C':
				$('.screens .result').empty();
				break;
			case '←':
				$('.screens .result').empty().append(resultContent.substring(0, resultContent.length - 1));
				break;
			case '=':
				var total = splitFormula(resultContent).toString();
				total = total.replace(/e\+[0-9]+/g, "");
				total = total.replace(/NaN[0-9]+/g, "");
				total = total.replace(/false/g, "");
				clickedKey ='';
				$('.screens .result').empty().append(total);
				break;
			case 'Ms':
				$('.screens .stock').empty().append(resultContent);
				break;
			case 'M+':
				if ($('.screens .stock').text() != '') {
					msContent = '+' + $('.screens .stock').text();
					$('.screens .result').append(msContent);
				}	
				break;
			case 'M-':
				if ($('.screens .stock').text() != '') {
					msContent = '-' + $('.screens .stock').text();
					$('.screens .result').append(msContent);
				}
				break;
			default:
				if ($.inArray(clickedKey, operatorsNotDoneArr) === -1) {
					$('.screens .result').append(clickedKey);
				}
				break;
		}
	});

	function splitFormula(str) {
		var number = '', 
			numbersArr = [], 
			operatorsStr = '';

		for (var c = 0; c < str.length; c++) {
      		if ($.inArray(str[c], operatorsArr) !== -1) {
				numbersArr.push(number);
				operatorsStr += str[c];
				number = '';
			}
			else {
				number += str[c];
			}
			
		}
		numbersArr.push(number);

		//calcul
		if (operatorsStr !== '') {
			var step1 = 1, 
				step0 = 0, 
				result, 
				numbersArr_nb = numbersArr.length;

			while (step1 < numbersArr_nb) {
				var x = numbersArr[step0];
				var y = numbersArr[step1];
				var op = operatorsStr[step1 - 1];

				result = calculate(x, y, op);
				numbersArr[step1] = result;
				step1++;
				step0++;
			}

			return result;
		}
		else {
			return number;
		}
	}

	function calculate(a, b, op) {
    	var r;

    	if (isNaN(a) || isNaN(b)) {
    		alert("Failed: cannot calculate with a signed number");
    		return false;
    	}
    	else {
    		a = parseFloat(a);
    		b = parseFloat(b);
    	}

		switch (op) {
			case '+':
				r = a + b;
				break; 
			case '-':
				r = a - b;
				break;
			case '*':
				r = a * b;
				break;
			case '/':
				r = a / b;
				break;
			case '%':
				r = a % b;
				break;
			case '^':
				if (b == 0) {
					r = 1;
				}
				else {
					r = 1;
					for (var i = 0; i < b; i++) {
						r *= a;
					}
				}
		}

		return r;
	}

});

站长提示:
1. 苦力吧素材官方QQ群:950875342
2. 平台上所有素材资源,需注册登录会员方能正常下载。
3. 会员用户积极反馈网站、素材资源BUG或错误问题,每次奖励2K币
4. PHP源码类素材,如需协助安装调试,或你有二次开发需求,可联系苦力吧客服。
5. 付费素材资源,需充值后方能下载,如有任何疑问可直接联系苦力吧客服
相关资源 / 实用工具

javascript在线随机生成可预览的随机背景颜色

一款在线生成背景颜色实用工具,它使用Math.floor函数为HTML十六进制颜色代码获取一个随机值,并将生成的该值设置为预览div作为背景色。生成的颜色代码显示在文本输入中,可点击按钮进行复制到剪贴板。
  实用工具
 1381  0

javascript实现的交互式俄罗斯十珠大算盘计算器

一款老式的算盘算术计算器,算盘是一种用于算术计算的简单机械设备,可直观的演示并计算。有点类似于我国的算盘计算,我国算盘珠算的计算方法是基于“二进制”的基础来进行计算的。
  实用工具
 3250  0

jquery丝滑的橡皮擦工具插件

一款在线涂擦实用工具,按住鼠标左键并移动,或在移动端触摸手势刮擦图片即可看到效果。支持重置初始状态、一键清空、橡皮擦开关。
  实用工具
 869  0

基于javascript获取访客客户端系统数据信息特效代码

一款获取访客隐私信息插件,使用ipinfo.io/json API来获取访问用户的信息。包括:IP地址、所在地理位置、所在国家、经纬度、网络运营商、系统版本、浏览器版本等。
  实用工具
 7376  0

评论数(1) 回复有机会获得K币 用户协议

    xiaoshenzhen0
    2023-09-28 13:24:27
😀
  • 😀
  • 😊
  • 😂
  • 😍
  • 😑
  • 😷
  • 😵
  • 😛
  • 😣
  • 😱
  • 😋
  • 😎
  • 😵
  • 😕
  • 😶
  • 😚
  • 😜
  • 😭
发表评论