织梦CMS - 轻松建站从此开始!

abg欧博官网|登陆|游戏|

Stack Overflow en español

时间:2025-07-18 11:50来源: 作者:admin 点击: 12 次
Tengo que hacer una calculadora gráfica en Javascript, y el problema que tengo es que necesito hacer que al pulsar cada botón de operación se imprima

Tengo que hacer una calculadora gráfica en Javascript, y el problema que tengo es que necesito hacer que al pulsar cada botón de operación se imprima en el texto el resultado entre los números anteriores.

Se me ha ocurrido hacerlo con un contador booleano para que solo el primer click en la operación no imprima el resultado. Funciona solo la primera vez, ya que luego se empiezan a concatenar los siguientes números que introduzco con el resultado anterior.

¿Hay alguna forma más sencilla de hacerlo?

<fieldset> <legend>Codigo</legend> <div> <div></div> <button>CE</button> <button>C</button> <button>D</button> <button>÷</button> <button>7</button> <button>8</button> <button>9</button> <button>x</button> <button>4</button> <button>5</button> <button>6</button> <button>-</button> <button>1</button> <button>2</button> <button>3</button> <button>+</button> <button>+-</button> <button>0</button> <button>,</button> <button>=</button> </div> </fieldset>

Javascript

var sacarElemento = document.getElementById.bind(document); var texto = sacarElemento('texto'); var numero; var cont = true; sacarElemento('calculadora').addEventListener('click', function (event) { var target = event.target; if (target && target.matches('button')) { if (!isNaN(target.textContent)) { texto.textContent = texto.textContent + target.textContent; } else if (target.textContent == "+") { if (!cont) { texto.textContent = parseFloat(numero) + parseFloat(texto.textContent); } else { numero = texto.textContent; texto.textContent = ""; } cont = false; } }

})

(责任编辑:)
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:
发布者资料
查看详细资料 发送留言 加为好友 用户等级: 注册时间:2025-08-23 17:08 最后登录:2025-08-23 17:08
栏目列表
推荐内容