Jquery: Calculadora com sessionStorage

by rodrigo72

HTML

<html>
  <title> Sistema de Cálculo Financeiro </title>

  <head>
    <meta charset="UTF-8">
    <meta name="description" content="Free Web tutorials">
    <meta name="keywords" content="HTML,CSS,XML,JavaScript">
    <meta name="author" content="John Doe">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


  </head>

  <body>

    <div id="dvCabecalho" class="cabecalho">
      <br>
      <br>
      <tr>
        <td><input type="text" id="txtTela" readonly></input>
        </td>
      </tr>
      <table>
        <tbody>
          <Tr>
            <td><input type="button" class="btnFunc" id="btnDiv" value="/"></input>
            </td>
            <td><input type="button" class="btnFunc" value="*"></input>
            </td>
            <td><input type="button" class="btnFunc" value="-"></input>
            </td>
            <td><input type="button" class="btnFunc" value="+"></input>
            </td>
          </tr>
          <Tr>
            <td><input type="button" class="btn" value="7"></input>
            </td>
            <td><input type="button" class="btn" value="8"></input>
            </td>
            <td><input type="button" class="btn" value="9"></input>
            </td>
            <td></td>
          </tr>
          <Tr>
            <td><input type="button" class="btn" value="4"></input>
            </td>
            <td><input type="button" class="btn" value="5"></input>
            </td>
            <td><input type="button" class="btn" value="6"></input>
            </td>
            <td></td>
          </tr>
          <Tr>
            <td><input type="button" class="btn" value="1"></input>
            </td>
            <td><input type="button" class="btn" value="2"></input>
            </td>
            <td><input type="button" class="btn" value="3"></input>
            </td>
            <td></td>
          </tr>
       ...

CSS

.cabecalho {
	  position: absolute;
	  left: 150px;
	  /* posiciona a 90px para a esquerda */
	  top: 40px;
	  /* posiciona a 70px para baixo */
	}

	.button {
	  -webkit-transition-duration: 0.4s;
	  /* Safari */
	  transition-duration: 0.4s;
	}

	.button:hover {
	  background-color: #4CAF50;
	  /* Green */
	  color: white;
	}

JavaScript

$(document).ready(function() {

  limpaCampos();

  // Limpa ou inicializa campos		 
  function limpaCampos() {
    sessionStorage.setItem("operadorAtual", "");
    sessionStorage.setItem("primeiroValor", "")
    sessionStorage.setItem("segundoValor", "")
    sessionStorage.setItem("segundaOperacao", "");
    $("#txtTela").val('');
  }

  // Calcula valores, seguindo o operador aritmético informado.
  function calculaValores(primeiroValor, segundoValor, operador) {
    var valor;
    switch (operador) {
      case '+':
        valor = parseFloat(primeiroValor) + parseFloat(segundoValor);
        break;
      case '-':
        valor = parseFloat(primeiroValor) - parseFloat(segundoValor);
        break;
      case '*':
        valor = parseFloat(primeiroValor) * parseFloat(segundoValor);
        break;
      case '/':
        valor = parseFloat(primeiroValor) / parseFloat(segundoValor);
        break;
    }

    return valor;
  }

  // Carrega valores à medida que os números são digitados.
  function carregaValor(valor) {
    if (sessionStorage.getItem("operadorAtual") === '' && sessionStorage.getItem("segundaOperacao") === '') {
      if (sessionStorage.getItem("primeiroValor") === '' || sessionStorage.getItem("primeiroValor") === 0) {
        sessionStorage.setItem("primeiroValor", valor);
        $("#txtTela").val(valor);
      } else {
        sessionStorage.setItem("primeiroValor", sessionStorage.getItem("primeiroValor") + valor);
        $("#txtTela").val(sessionStorage.getItem("primeiroValor"));
      }
    } else {

      if (sessionStorage.getItem("segundoValor") === '' || sessionStorage.getItem("segundoValor") === 0) {
        sessionStorage.setItem("segundoValor", valor);
        $("#txtTela").val(valor);
      } else {
        sessionStorage.setItem("segundoValor", sessionStorage.getItem("segundoValor") + valor);
        $("#txtTela").val(sessionStorage.getItem("segundoValor"));
      }
    }
  }

  // Seta em memória o operador pressionado
  function...