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

118
Vistas
Haga que la función javascript espere hasta que la clase del elemento haya cambiado antes de completar

Tengo una casilla de verificación en mi sitio que, cuando se hace clic, almacena si un usuario marcó o no la casilla en la tabla de usuarios de WordPress. Cuando el valor "marcado" se almacena en la tabla de usuario, el fondo del cuadro cambia a la imagen de un cheque. Sin embargo, dado que el proceso de almacenamiento de esta información en la tabla de usuario toma ~3 segundos, quiero crear una función de javascript que inmediatamente le brinde al usuario una indicación de que se hizo clic en el cuadro (en lugar de esperar a que aparezca la marca). El enlace < a > que inicia esta transferencia de datos se encuentra dentro de un div con la clase "casilla de verificación". Diseño HTML general:

 <div class="checkbox"> <a href="" class="wpc-button-complete wpc-complete"> </a> </div>

En este momento tengo una función javascript que cambia el color de fondo del div de "casilla de verificación" al hacer clic, pero solo tiene un tiempo de espera que dura lo suficiente para cubrir los ~ 3 segundos de tiempo para que se transfieran los datos y aparezca la verificación:

 document.querySelector('.checkbox').addEventListener('click', function (clicked) { return function () { if (!clicked) { this.style.backgroundColor = '#ce6480'; clicked = true; setTimeout(function () { this.style.backgroundColor = '#f7f7f7'; clicked = false; }.bind(this), 2500); } }; }(false), this);

El complemento de WP que hace posible esta transferencia de datos cambia la clase del elemento de casilla de verificación < a > de "wpc-button-complete wpc-complete" a "wpc-button-completed wpc-completed" cuando el valor "marcado" se almacena en la tabla de usuario y se muestra como tal en la parte frontal con la marca de verificación presente. Preferiría que esta función sea para que el color de fondo cambie a "#ce6480" al hacer clic y luego, una vez que cambie la clase de este elemento, el color de fondo "#ce6480" desaparezca al mismo tiempo, por lo que el cambio en el color de fondo es solo está presente durante la breve ventana entre cuando el usuario hace clic y cuando aparece el cheque. ¿Hay alguna forma en lugar de la función setTimeout, podría decirle a la función que espere a que cambie la clase del elemento < a > y luego elimine el color de fondo cambiado?

Gracias.

about 4 years ago · Juan Pablo Isaza
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