这里编码非常新,为基本问题道歉。试图完成odin项目的构建计算器挑战(http://www.theodinproject.com/javascript-and-jquery/on-screen-calculator)
并且在点击之后努力使数字出现。另外,如何将值存储在变量或数组中,以便稍后在计算中使用?
这是我的JS的摘录:
$(".numbers").on("click", function() {
$+(this).text()
;});
我的HTML(请注意我使用jsfiddle,因此缺少html开关标签等:
<script src="jquery-1.11.3.min.js"></script>
<div class="numbers">
<button type="button">0</button>
<button type="button">1</button>
<button type="button">2</button>
<button type="button">3</button>
<button type="button">4</button>
<button type="button">5</button>
<button type="button">6</button>
<button type="button">7</button>
<button type="button">8</button>
<button type="button">9</button>
</div>
<div class = "operators">
<button type="button">+</button>
<button type="button">-</button>
<button type="button">*</button>
<button type="button">/</button>
<button type="button">=</button>
<button type="button">clear</button>
</div>
答案 0 :(得分:1)
要将按钮的值存储在变量中,您可以执行此操作。
$('button').on('click', function(){
var i = $(this).text();
console.log(i); // print the value of i in the console
});
一旦掌握了价值,您就需要在计算器的“显示”上按顺序点击每个按钮的值。
HTML
<div class="display"></div>
的JavaScript
$('button').on('click', function(){
var i = $(this).text();
var display = $('.display');
display.text( display.text() + i );
});
希望这有助于指明你正确的方向。
答案 1 :(得分:0)
我不确定您希望如何显示您的号码。你在使用TextArea吗?
对于存储值,在函数内部执行类似
的操作var num = $ +(this).text()
除此之外,你需要更加具体。
答案 2 :(得分:0)
以下jsfiddle演示了如何做你想做的事。
// array is defined outside the click handler
var clickedArray = [];
$('button').on('click',function() {
// get the button that was clicked
var buttonClicked = $(this).html();
console.log(buttonClicked);
// store it as the last element in the array
clickedArray.push(buttonClicked);
console.log(clickedArray);
// and output it to the screen
$('.js-calc-out').append(buttonClicked);
});
注意事项:
html()
函数检索任何给定HTML元素的内容,在这种情况下,它是单击的按钮,使用$(this)
检索(触发事件的任何元素都使用{{1}检索然后使用this
函数将其转换为jquery对象。$()
函数用于将最新点击的元素附加到第1点中提到的数组的末尾。push()
是我们.js-calc-out
最新点击的HTML元素,表示输出点击次序。append()
声明将一些内容输出到检查器中,这可以帮助您看到流程的开发。PS。这是一个简化的解决方案,考虑到您在学习曲线上的当前位置;理想情况下,您希望使用对象在javascript中封装数据和功能,并远离全局命名空间。