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

222
Vistas
Uso de un EventListener en el Elemento que llama a una función de contador - Javascript

Objetivo : Escribir una función que sea llamada por el evento de clic eventListener de un IMG. La función utilizará un condicional para ver en qué ElementID llamó a la función, luego inicializará el acumulador en ese valor, luego agregará 1 y cambiará el HTML interno para mostrar ese nuevo valor. El objetivo clave es hacer que esto suceda sin tener 3 funciones idénticas similares

Código hasta ahora

 let likeCount = !NaN; var classname = document.getElementsByClassName("like-heart"); function likeCounter() { /*Note the elementID is very similar to the ELementID of the accumulator element - but not the same.*/ if (this.getElementById === "ft-recipe-like") { likeCount = Number(document.getElementById('featured-likes').innerText); likeCount += 1; document.getElementById('featured-likes').innerText = likeCount; } else if (this.getElementById === "macaroon-like") { likeCount = Number(document.getElementById('macaroon-likes').innerText); likeCount += 1; document.getElementById('macaroon-likes').innerText = likeCount; } else if (this.getElementById === 'brulee-like') { likeCount = Number(document.getElementById('brulee-likes').innerText); likeCount += 1; document.getElementById('brulee-likes').innerText = likeCount; } for (var i = 0; i < classname.length; i++) { classname[i].addEventListener('click', likeCounter, false); } } } } for (var i = 0; i < classname.length; i++) { classname[i].addEventListener('click', likeCounter, false); } } }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Puede tener un mapa de acc id a Dom node id y escribir una función genérica para incrementar likeCount .

 let likeCount = !NaN; var classname = document.getElementsByClassName("like-heart"); const accIdToDomIdMap = { 'ft-recipe-like': 'featured-likes', 'macaroon-like': 'macaroon-likes', 'brulee-likes': 'brulee-likes' } function likeCounter() { /*Note the elementID is very similar to the ELementID of the accumulator element - but not the same.*/ if(accIdToDomIdMap.hasOwnProperty(this. getElementById)) { const domId = document.getElementById(accIdToDomIdMap[this.getElementById]); likeCount = (+domId.innerText || 0) + 1; domId.innerText = likeCount; } } function newFunction() { for (var i = 0; i < classname.length; i++) { classname[i].addEventListener('click', likeCounter, false); } } }
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