Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

190
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda