Ir para conteúdo

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 ILR master
      Pessoal, pergunta bem simples. Abaixo tenho o seguinte código:
       
      <script>
      function alerta()
      {
        if (window.confirm("Você realmente quer sair?")) {
          window.open("sair.html");
      }
      }
      </script>
       
      Funciona perfeitamente, só que está abrindo em outra janela e quero que abra na mesma janela.
       
      Alguém pode me ajudar?
    • Por ment0r
      Boa tarde à todos.
      Pessoal, estou com o seguinte problema: preciso imprimir uma ficha mensal de trabalho, mas quando vou imprimir, a página para impressão sai "cortada".
       

       
      A imagem acima representa a ficha que preciso imprimir, está tudo ok com essa (tirei o cabeçalho, pois não vinha ao caso)
       

       
      Vejam como fica na impressão: com aproximadamente 2/3 da largura.
       
      <style> body { width: 100%; height: 100%; margin: 0; padding: 0; background-color: #FAFAFA; } * { box-sizing: border-box; -moz-box-sizing: border-box; } .page { width: 210mm; min-height: 297mm; padding: 4mm; margin: 1mm auto; border: 1px #D3D3D3 solid; border-radius: 5px; background: white; box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); } /*.subpage { padding: 0.5cm; border: 0px red solid; height: 257mm; outline: 2cm #FFEAEA solid; }*/ .cliente { margin-top: 30px; font-size: 20px; } th {font-size: 14px; } td {font-size: 12px; } .logo {height: 64px; margin: 20px 0px 0px 20px;} .font-cabecalho {font-size: 12px; margin-left: 20px; text-align: center; margin: 20px 0px 0px 20px;} @page { width: 100%; height: 100%; margin: 0; padding: 0; } @media print { html, body { width: 210mm; height: 297mm; } .page { margin: 0; border: initial; border-radius: initial; width: initial; min-height: initial; box-shadow: initial; background: initial; page-break-after: always; } } </style> Código CSS da página.
       
      O que pode ser? Como faço pra deixar a página de impressão igual à página PHP? Obrigado desde já à todos.

      Um abraço.
       
    • Por Giovanird
      Olá a todos!
      Tenho uma pagina que possui uma DIV onde coloquei uma pagina PHP.
      Uso a função setInterval para atualizar a pagina inclusa dentro da DIV.
      O problema é que ao acessar o site , a DIV só me mostra a pagina inclusa somente quando completo o primeiro minuto.
      Preciso que a pagina inclusa já inicie carregada
       
      Meu código JavaScript e a DIV com a pagina PHP
       
      <script> function atualiza(){ var url = 'direita.php'; $.get(url, function(dataReturn) { $('#direita').html(dataReturn); }); } setInterval("atualiza()",60000); </script> <div> <span id="direita"></span> </div>  
    • Por Thiago Duarte
      Oi, gostaria de arrastar imagem e ao soltar formar bloco html, meu bloco de html ficaria com nome, content-1.html, content-2.html, etc
       
      Alguem pode me ajudar?
×

Informação importante

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