Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

197
Views
Cómo almacenar un número con localStorage incluso cuando la página se recarga

hola quiero almacenar un numero cuando su valor es 0

 var count = 3; var count2 = "0"; var count3; var btn = document.getElementById("btn"); btn.onclick = function() { count--; btn.style.transform = "scale(2)"; setTimeout(function() { btn.style.transform = "scale(1)"; }, 0005); if(count === 0) { /* I want to store the result here in manner that even when the page reload the number remains the same ( 0 in that case ) */ var zero = localStorage.getItem(count); count3 = parseInt(count2); localStorage.setItem( count , count3 ); } }
 #btn { width : 300px; height : 300px; border : solid 2px red; border-radius : 50%; transition : .1s; }
 <button id="btn">Click me</button>

Pero no necesito afectar count3 para contar, ya que count ya está configurado en 0 :( pero no puedo afectar los números. Creo que solo hay una cadena en la 'clave' para localStorage.

Como puedo hacer eso ?

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

localStorage.setItem( cuenta , cuenta3 )

Esto está mal. Deberías escribir

localStorage.setItem("dónde", valor);

Entonces, en lugar de establecer el elemento en la clave igual a la variable count , debe establecer el valor en la clave "count" , que es una cadena. De lo contrario, cada vez que cambie la count de enteros, almacenará el nuevo valor ( count3 ) en un lugar nuevo.

Cuando vuelve a cargar la página, el count de enteros intenta obtener la información almacenada en la clave 3 .


Además, count === 0 también podría escribirse como count == 0 , por lo que primero no verifica si count es un número entero, y en su lugar acepta cadenas (y booleanas, indefinidas y nulas).


EDITAR: fragmento agregado como ejemplo. Refactoricé el código para que sea más legible, comenté localStorage para que pueda ejecutar el fragmento en Stack Overflow, y asumí que el recuento no puede ser inferior a 0.

Como beneficio adicional, count2 y count3 mientras cambiaba setTimeout de 0.005 (5ms es el mínimo de todos modos) a 50ms (la mitad de 0.1s que está en la transición).

 var storedCount = getStoredCount(); const GOT_PREVIOUS_VALUE = storedCount != null; var count = (GOT_PREVIOUS_VALUE) ? storedCount : 3; var btn = document.getElementById("btn"); btn.onclick = changeCount; function changeCount() { if (count > 0) { count--; scaleButton(); storeCount(); console.log({count}) } } function scaleButton() { btn.style.transform = "scale(2)"; setTimeout(function() { btn.style.transform = "scale(1)"; }, 50); } function getStoredCount() { return localStorage.getItem('count') ; } function storeCount() { localStorage.setItem('count', count); }
 #btn { width: 300px; height: 300px; border: solid 2px red; border-radius: 50%; transition: .1s; }
 <button id="btn">Click me</button>

about 4 years ago · Juan Pablo Isaza Report

0

La clave para el almacenamiento local es usar solo String. Puede definir una función para analizar la clave en cualquier.... Cuando la página se vuelve a cargar, no se puede borrar loacalStorage. Entonces puede hacerlo como var key = parse(localStorage.getitem(count)) en su función definida.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!