gpt4 book ai didi

javascript - 在 meteor 中制作计算器

转载 作者:行者123 更新时间:2023-11-28 01:23:37 25 4
gpt4 key购买 nike

我正在自学如何使用 HTML/CSS/JavaScript 编写代码。我使用 Nitrous.io 作为我的 IDE 并使用 Meteor。我试图跟随并使用计算器教程,但我认为最好自己尝试制作一个简单的计算器。但是我不确定如何让按钮相互通信,所以当用户按下“1”“+”“1”时,它会显示为“2”。我将把我的代码放在下面,如果有人能向我解释一下,我将不胜感激。非常感谢:)

现在我在网页上显示了按钮,但我无法让它们相互通信。

calculator.html

<template name="calculator">

<div class="row">
<div class="col-lg-4 col-lg-offset-4 col-md-4 col-md-offset-4 col-sm-4 col-sm-offset-4 col-xs-4 col-xs-offset-4">
<div class="row">
<div class="col-lg-2 col-md-2 col-sm-2 col-xs-2">
<button id="button1" class="btn {{button1class}} buttonKeypad">1 </button>
</div>
<div class="col-lg-2 col-md-2 col-sm-2 col-xs-2">
<button id="button2" class="btn {{button2class}} buttonKeypad">2</button>
</div>
<div class="col-lg-2 col-md-2 col-sm-2 col-xs-2">
<button id="button3" class="btn {{button3class}} buttonKeypad">3</button>
</div>
<div class="col-lg-2 col-md-2 col-sm-2 col-xs-2">
<button id="buttonPlus" class="btn btn-warning buttonKeypad">+</button>
</div>
</div>
<div class="row">
<div class="col-lg-2 col-md-2 col-sm-2 col-xs-2">
<button id="button4" class="btn {{button4class}} buttonKeypad">4</button>
</div>
<div class="col-lg-2 col-md-2 col-sm-2 col-xs-2">
<button id="button5" class="btn {{button5class}}

等等,直到 buttonKeypad 9。

计算器.js

if (Meteor.isClient) {

Session.set("string", "");

Session.set("button1class", "btn-default");
Session.set("button2class", "btn-default");
Session.set("button3class", "btn-default");
Session.set("button4class", "btn-default");
Session.set("button5class", "btn-default");
Session.set("button6class", "btn-default");
Session.set("button7class", "btn-default");
Session.set("button8class", "btn-default");
Session.set("button9class", "btn-default");
Session.set("submitclass", "btn-warning");

Template.calculator.helpers( {
"string" : function () { return Session.get("string")},
"button1class" : function () { return Session.get("button1class")},
"button2class" : function () { return Session.get("button2class")},
"button3class" : function () { return Session.get("button3class")},
"button4class" : function () { return Session.get("button4class")},
"button5class" : function () { return Session.get("button5class")},
"button6class" : function () { return Session.get("button6class")},
"button7class" : function () { return Session.get("button7class")},
"button8class" : function () { return Session.get("button8class")},
"button9class" : function () { return Session.get("button9class")},
});


Template.calculator.events( {
"click button": function() {
Session.set("button1class", "btn-default");
Session.set("button2class", "btn-default");
Session.set("button3class", "btn-default");
Session.set("button4class", "btn-default");
Session.set("button5class", "btn-default");
Session.set("button6class", "btn-default");
Session.set("button7class", "btn-default");
Session.set("button8class", "btn-default");
Session.set("button9class", "btn-default");
},
});


Template.calculator.events( {
"click #button1" : function() {
Session.set("button1class", "btn-primary");
Session.set("string", Session.get("string")+"1");
},
"click #button2" : function() {
Session.set("button2class", "btn-primary");
Session.set("string", Session.get("string")+"2");
},
"click #button3" : function() {
Session.set("button3class", "btn-primary");
Session.set("string", Session.get("string")+"3");
},
"click #button4" : function() {
Session.set("button4class", "btn-primary");
Session.set("string", Session.get("string")+"4");
},
"click #button5" : function() {
Session.set("button5class", "btn-primary");
Session.set("string", Session.get("string")+"5");
},
"click #button6" : function() {
Session.set("button6class", "btn-primary");
Session.set("string", Session.get("string")+"6");
},
"click #button7" : function() {
Session.set("button7class", "btn-primary");
Session.set("string", Session.get("string")+"7");
},
"click #button8" : function() {
Session.set("button8class", "btn-primary");
Session.set("string", Session.get("string")+"8");
},
"click #button9" : function() {
Session.set("button9class", "btn-primary");
Session.set("string", Session.get("string")+"9");
},

});

最佳答案

首先,您的代码比需要的复杂得多。您不需要所有这些 session 变量来设置计算器按钮的样式,您可以只使用 css 类。 (例如 :hover 代表鼠标悬停,:active 代表被点击的按钮)。

如果您的计算器没有括号,生活就很简单。当用户输入一系列数字时,将它们放入缓冲区并在屏幕上显示。一旦用户触摸操作数 (+-*/),然后将缓冲区与操作数一起保存(例如,保存到 session 变量)。允许用户输入更多数字。当他们命中 = 或一个新的操作数时,评估挂起的操作。显示结果。

关于javascript - 在 meteor 中制作计算器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32941583/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com