Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

244
Visualizações
¿Cómo convierto este código para que las funciones puedan tomar una variable?

Estoy tratando de cambiar el color de los elementos de la barra de navegación cuando el mouse pasa sobre ellos.

Este fragmento de código hace eso, pero solo para el primer botón:

 let navOne = document.getElementById("nav1"); function mouseOn() { nav1.style.color = "red"; } function mouseOff() { nav1.style.color = "black"; } navOne.addEventListener('mouseover', mouseOn); navOne.addEventListener('mouseout', mouseOff);

He estado tratando de convertir el código para que las funciones funcionen para varios botones, pero parece que no puedo hacerlo funcionar. Aquí está el código hasta ahora:

 let navOne = document.getElementById("nav1"); function mouseOn(navButton) { navButton.style.color = "red"; } function mouseOff(navButton) { navButton.style.color = "black"; } navOne.addEventListener('mouseover', mouseOn(navOne)); navOne.addEventListener('mouseout', mouseOff(navOne));

No tiene errores, pero no provoca ningún cambio de color cuando muevo el botón del mouse sobre el elemento nav1.

Cualquier ayuda es muy apreciada.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Puede hacer que las funciones del controlador de eventos aprovechen el parámetro de event que se pasa en:

 function mouseOn(e) { e.target.style.color = "red"; } function mouseOff(e) { e.target.style.color = "black"; } for (let navItem of document.querySelectorAll('nav a')) { navItem.addEventListener('mouseover', mouseOn); navItem.addEventListener('mouseout', mouseOff); }
 nav a { display: inline-block; padding: 10px; color: black; }
 <nav> <a href="#" id="nav1">Nav One</a> <a href="#" id="nav2">Nav Two</a> </nav>

Sin embargo, usar un pseudo-atributo css :hover sería el enfoque preferido hoy en día. No se necesita código JS.

 nav a { display: inline-block; padding: 10px; color: black; } nav a:hover { color: red; }
 <nav> <a href="#">Nav One</a> <a href="#">Nav Two</a> </nav>

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda