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

247
Vistas
Aumentar la opacidad al pasar el mouse [JavaScript]

novato aquí. Estoy terminando mi tarea de Odin Project que es hacer un Etch a Sketch. Aunque el código que escribí puede ser largo y repetitivo, todo funciona bien, excepto la opción Escala de grises.

Lo que quiero lograr con la opción Escala de grises es... cada vez que el mouse se desplaza sobre un cuadrado, aumenta la opacidad hasta que llega a 1.

Entonces, traté de verificar la opacidad y luego agregar 0.1 cada vez que el mouse se desplaza, pero parece agregar solo una vez (como se muestra en la consola style="background-color: rgb(232, 232, 232); opacity: 0.2; " ).

Estoy mostrando el "arcoíris de casos" solo como ejemplo porque funciona perfectamente, cada vez que el mouse se desplaza sobre el mismo cuadrado, cambia a otro color.

 const setColor = (e) => { switch (colorTheme) { case "rainbow": let rainbowOptions = ['#9400D3', '#4B0082', '#0000FF', '#00FF00', '#FFFF00', '#FF7F00', '#FF0000']; let rainbowSelection = rainbowOptions[Math.floor(Math.random() * rainbowOptions.length)]; colorPick = rainbowSelection; e.target.style.backgroundColor = colorPick; break; case "grayscale": let currentOpacity = 0.1 colorPick = "#E8E8E8"; e.target.style.opacity = currentOpacity; e.target.style.backgroundColor = colorPick; if (e.target.style.opacity <= 0.9) { e.target.style.opacity = `${currentOpacity + 0.1}`; console.log(e.target) } else { e.target.style.opacity = 1; } break;

Muchas gracias por su ayuda :)

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Este código funciona para mí, espero que sea lo que querías también.
Obtiene la opacidad actual para aumentarla cada vez, el problema en su código era que restablecía su variable de opacidad cada vez que se llamaba a la función.

 let colorPick; const setColor = (e) => { colorPick = "#E8E8E8"; e.style.backgroundColor = colorPick; if (e.style.opacity <= 0.9) { e.style.opacity = +e.style.opacity + 0.1; // +e.style.opacity to convert opacity from string to number } }
 <div onmouseover="setColor(this)" style="padding:50px; opacity:0" > Lorem ipsum dolor sit amet, consectetur adipiscing elit </div>

about 4 years ago · Juan Pablo Isaza Denunciar

0

Si quieres ser el hackerman:

 const raiseOpacity = (e) => !~~(+e.style.opacity) ? (e.style.opacity = +e.style.opacity + 0.1) : 1;
 <div onmouseover="raiseOpacity(this)" style="padding:50px; opacity:0.1"> Lorem ipsum dolor sit amet, consectetur adipiscing elit </div>

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