计算器项目-卡住-javascript

计算器项目-卡住-javascript,javascript,project,calculator,Javascript,Project,Calculator,我一直在努力让这个计算器工作。。。所以基本上,如果我按equals键(1+2=3),我的计算器就能工作。。。但我想让它即使在用户只按运算符时也能工作,比如1+4/5+2,这样即使只按运算符,它也能自动计算 这是我的代码: //DOM元素 const numberButton=document.queryselectoral('.number'); const operatorButton=document.querySelectorAll('.operator'); const clearBu

我一直在努力让这个计算器工作。。。所以基本上,如果我按equals键(1+2=3),我的计算器就能工作。。。但我想让它即使在用户只按运算符时也能工作,比如1+4/5+2,这样即使只按运算符,它也能自动计算

这是我的代码:

//DOM元素
const numberButton=document.queryselectoral('.number');
const operatorButton=document.querySelectorAll('.operator');
const clearButton=document.querySelector('.clear');
const deleteButton=document.querySelector('.delete')
const showResult=document.querySelector('.result');
const currentOperator=document.querySelector('.current operator');
const previousOperand=document.querySelector('.previousOperand');
const equalsKey=document.querySelector('.equals key');
CurrentOperator.textContent='';
PreviousOperator.textContent='';
//a,b的和。。。
功能添加(a、b){
返回a+b;
};
//a和b的减法。。。
函数减法(a,b){
返回a-b;
};
//乘以a,b。。。
函数乘法(a,b){
返回a*b;
};
//除a,b。。。
功能划分(a、b){
返回a/b;
};
//创建一个新函数operate,该函数接受一个运算符和两个数字,然后对这些数字调用上述函数之一。
功能操作(num1、num2、操作员){
开关(操作员){
格“+”:
返回添加(num1,num2);
案例“-”:
返回减法(num1,num2);
案例“*”:
返回乘法(num1,num2);
案例“/:
返回除法(num1,num2);
}
};
//创建在单击时填充显示的函数
//数字按钮…您应该将“显示值”存储在某个变量中
//供下一步使用。
让storedNumber='';
单击运算符=“”
让firstNumber='';
让结果=“”;
CurrentOperator.textContent=0;
numberButton.forEach((数字)=>{
number.addEventListener('click',function(){
storedNumber+=number.value;
CurrentOperator.textContent=storedNumber;
})
});
运算符按钮。forEach((运算符=>{
operator.addEventListener('click',function(){
//保存第一个号码
firstNumber=存储编号;
//获取已单击的运算符
单击operator=operator.textContent;
PreviousOperator.textContent=storedNumber+单击运算符;
storedNumber='';
console.log('FirstNumber'+FirstNumber+'Stored'+storedNumber)
控制台日志(点击操作器);
})
}));
equalsKey.addEventListener('click',function(){
//单击equals键时,调用operate()函数
结果=操作(parseFloat(firstNumber),parseFloat(storedNumber),单击操作器)
//使用结果更新当前操作的内容,使用计算更新上一个操作数,使storedNumber=result
currentOperator.textContent=结果;
PreviousOperator.textContent=firstNumber+''+单击运算符+''+存储编号;
storedNumber=结果;
console.log('FirstNumber'+FirstNumber+'Stored'+storedNumber)
})
*,
*::之前,
*::之后{
框大小:边框框;
字体大小:正常;
}
身体{
保证金:0;
填充:0;
背景:线性渐变(0.25圈,#3f87a6,#ebf8e1,#f69d3c);
字体系列:无衬线;
}
.计算器容器{
显示:网格;
证明内容:中心;
对齐内容:居中对齐;
最小高度:100vh;
网格模板列:重复(4100px);
网格模板行:最小最大值(120px,自动)重复(5100px);
}
.两杯{
格构柱:跨度2;
}
.计算器容器>按钮{
光标:指针;
字号:2rem;
边框:1px实心#4289a7;
大纲:无;
背景色:#f69d3c;
不透明度:80%;
边界半径:5px;
}
.calculator容器>按钮:悬停{
不透明度:100%;
}
.计算器显示{
网格柱:1/-1;
}
.计算器显示{
背景色:#efd7a5;
边框:1px实心#4289a7;
不透明度:80%;
显示器:flex;
弯曲方向:立柱;
对齐项目:柔性端;
填充:10px;
填充顶部:39px;
垫底:5px;
边界半径:5px;
}
.计算器显示.上一个操作数{
字体大小:1.5rem;
}
.计算器显示.当前操作数{
字体大小:2.5rem;
填充顶部:7px;
}
!
奥丁计划
3214
324324
自动控制
德尔
/
1.
2.
3.
*
4.
5.
6.
+
7.
8.
9
-
.
0
=

只要在每次按下数字时运行计算,然后更新视图即可

例如,如果按“1”,然后按“+”再按“2”,计算器将自动显示“3”

您还可以让它在单击运算符按钮时计算值,尽管这可能没有多大意义

//DOM元素
const numberButton=document.queryselectoral('.number');
const operatorButton=document.querySelectorAll('.operator');
const clearButton=document.querySelector('.clear');
const deleteButton=document.querySelector('.delete')
const showResult=document.querySelector('.result');
const currentOperator=document.querySelector('.current operator');
const previousOperand=document.querySelector('.previousOperand');
const equalsKey=document.querySelector('.equals key');
CurrentOperator.textContent='';
PreviousOperator.textContent='';
//a,b的和。。。
功能添加(a、b){
返回a+b;
};
//a和b的减法。。。
函数减法(a,b){
返回a-b;
};
//乘以a,b。。。
函数乘法(a,b){
返回a*b;
};
//除a,b。。。
功能划分(a、b){
返回a/b;
};
//创建一个新函数operate,该函数接受一个运算符和两个数字,然后对这些数字调用上述函数之一。
功能操作(num1、num2、操作员){
开关(操作员){
格“+”:
返回添加(num1,num2);
案例“-”:
返回减法(num1,num2);
案例“*”:
返回乘法(num1,num2);
案例“/:
返回除法(num1,num2);
}
};
//创建填充t的函数