Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Phenom

Como manter uma função mesmo depois de um refresh? Javascript

Recommended Posts

Olá, sou novo aqui e estou criando um contador e calcular de preço por minutos.

Funciona basicamente como um cronômetro que faz um calculo por minuto, está tudo funcionando normalmente... o problema é quando atualiza a página e o cronômetro reinicia, existe algum modo de guardar essa função numa sessão ou em cookies? (vou colocar o código aqui mesmo e tbm anexei no post).
 

var segundos = new Number();
var segundos = 0;
var minutos = new Number();
var minutos = 0;
var horas = new Number();
var horas = 0;

var minutos_inf = new Number();
var minutos_inf = 0;

var valor_por_minuto = 0.10;

function start() {
    segundos = segundos + 1;
    if (segundos >= 60) {
        minutos = minutos + 1;
        minutos_inf = minutos_inf + 1;
        segundos = 0;
        if (minutos >= 60) {
            horas = horas + 1;
            minutos = 0;
        }
    }

    if (segundos < 10) {
        var m_segundos = "0" + segundos;
    } else {
        var m_segundos = segundos;
    }

    if (minutos < 10) {
        var m_minutos = "0" + minutos;
    } else {
        var m_minutos = minutos;
    }

    if (horas < 10) {
        var m_horas = "0" + horas;
    } else {
        var m_horas = horas;
    }

    sessionStorage.setItem('tempo', m_horas + ":" + m_minutos + ":" + m_segundos);
    tempo.innerText = sessionStorage.getItem('tempo');

    var valor_total = (valor_por_minuto * minutos_inf).toFixed(2);
    valor.innerText = "R$ " + valor_total;

    setTimeout('start();', 1000);
}

config.js

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma forma poderia ser ao invés de salvar em cookie a hora:minuto:segundo decorrido, salvar em cookie o dia/hora inicial e o javascript calcularia sempre o tempo decorrido desta data inicial, com isso, independente do refresh sempre teria o dia/hora inicial

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Phenom, buenas.

 

Vi que está usando o SessionStorage, não lembrava que ele tinha essa "feature" de zerar com um refresh.

Já tentou usar o LocalStorage?

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos, saudações.

      Por favor, alguém pode me dar uma explicação referente o Template AdminLTE + Java Netbeans.

      Após importar para o Sistema Web. o componente para a pasta:
      WEB PAGES
      |___> bower_components - fica apresentando ERRO em algumas subpastas.

      Como consigo corrigir esses erros ?

      At.te,

      Cesar
    • Por violin101
      Caros amigos, saudações.

      Estou com uma dúvida em Sistema WEB em Java.

      O Código abaixo está na Página index.jsp
      <%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1" /> <link href="css/bootstrap.min.css" rel="stylesheet" type="text/css"/> </head> </html>
      O problema são os caracteres especiais que não consigo corrigir.

      Como consigo converter os Caracteres para o Padrão Português(BR) ?

      Grato,

      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Estou escrevendo um Sistema Java Web e quando clico no Botão Salvar, o Java acusa esse erro:

      ERROR: Cannot invoke "Object.toString()" because the return value of "java.util.Map.get(Object)" is null
       
      Já tentei de várias formas resolver esse problema, mas não estou conseguindo.

      Por favor, alguém pode me ajudar identificar a origem e resolver o problema acima ?

      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.

      Estou enfrentando um problema que não consigo entender.

      Após Instalar o MySql versão 8.0.36, funciona corretamente realizando as conexões.

      O problema é:
      ---[ após reiniciar o micro, o MySql não faz as conexões.
      --[ tenta localizar este arquivo, mas não acha: my.ini
       
      Onde localizo ou configuro este arquivo na Pasta MySql ?

      Grato,
       
      Cesar
    • Por luiz monteiro
      Olá.
      Estou atualizando meu conhecimento com Front-End e me deparei com o seguinte problema.
      Criei um sistema para fazer o upload de imagens e alguns campos text.
      Algo bem simples para depois começar a estudar javascript para mostrar a miniatura....
      Mas quando saio do navegador Chrome ou da aba por mais de 3 minutos, ao retornar o navegador as vezes atualiza ou nem chega atualizar mas limpa os campos.
      Estou usando um Smart Motorola com Android, mas um amigo testou no iPhone e acontece a mesma coisa.
      Gostaria de saber se há como usar javascript para evitar isso?
      Agradeço desde já.

      <!DOCTYPE html>
      <html>
      <head>
          <meta charset="utf-8">
          <meta name="viewport" content="width=device-width, initial-scale=1">
          <title>Uploader</title>
      </head>
      <body>
          <form action="?" method="post" enctype="multipart/form-data">
              <br><br>
              <div>selecione a imagem 1</div>
              <input type="file" name="foto1" accept="image/*">
              <br><br>
              <input type="text" name="nome_imagem1">
              
              <br><br>
              <input type="file" name="foto2" accept="image/*">
              <br><br>
              <input type="text" name="nome_imagem2">
              
              <br><br>

              <input type="file" name="foto3" accept="image/*">
              <br><br>
              <input type="text" name="nome_imagem3">
              
              <br><br>
              <input type="submit" value="Enviar">
              <br><br>
          </form>
      <?php
      if ($_SERVER['REQUEST_METHOD'] == 'POST')
      {
          vardump ($_FILES);
      }
      ?>
      </body>
      </html>
       
       
       
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.