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

268
Visualizações
Pase el cursor sobre div, use su atributo de datos para cambiar el src de un img

Quiero desplazarme sobre un div y usar su atributo de datos único para cambiar el src de un img en otro lugar de la página. Entonces revisa la lista y la URL cambia según el div sobre el que se cierne. Mi enfoque hasta ahora fue agregar un evento de mouseover a todos los elementos de mi lista y activar una función cada vez que obtendrá el atributo de datos del elemento actual sobre el que se pasa el mouse. Pero no funciona y tengo la sensación de que me estoy acercando a esto desde el ángulo equivocado. Soy consciente de que esto se resuelve fácilmente usando unas pocas líneas de jquery, pero me gustaría no usarlo, ya que lo necesitaría únicamente para esto. Hay una manera de hacer esto en javascript simple y antiguo, ¿verdad?

 const workThumb = document.querySelectorAll('#work-thumb'); const works = document.querySelectorAll('.work-list').forEach(item => { item.addEventListener('mouseover', event => { var src = this.getAttribute('data-thumb'); workThumb.setAttribute("src", url); }) })
 <a class="work-list" data-thumb="http://url.to/test.jpg"> <a class="work-list" data-thumb="http://url.to/test.jpg"> <a class="work-list" data-thumb="http://url.to/test.jpg"> [...]
 <img id="work-thumb" src="test.jpg">
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

use querySelector (no querySelectorAll ):

ejemplo de trabajo...

 const workThumb = document.querySelector('#work-thumb') document.querySelectorAll('.work-list').forEach( item => { item.onmouseover = () => workThumb.src = item.dataset.thumb })
 a { display : block; margin : .3em; cursor : pointer; }
 <a class="work-list" data-thumb="https://via.placeholder.com/150x100/ff0000">ITEM-1</a> <a class="work-list" data-thumb="https://via.placeholder.com/150x100/00ff00">ITEM-2</a> <a class="work-list" data-thumb="https://via.placeholder.com/150x100/0000ff">ITEM-3</a> <img id="work-thumb" src="https://via.placeholder.com/150/" alt="">

about 4 years ago · Juan Pablo Isaza Relatório

0

Limpié tu código y aquí tienes un ejemplo de trabajo. Las etiquetas <a> se usan para enlaces, no para elementos de lista, use <ul> <li></li> </ul> en su lugar.

Mira mi demostración. Pase el cursor sobre cada elemento y la fuente de la imagen cambiará.

 const workThumb = document.getElementById('work-thumb'); const works = document.querySelectorAll('.work-list'); works.forEach(item => { item.addEventListener('mouseover', event => { workThumb.src = event.target.dataset.thumb; }); });
 <ul> <li class="work-list" data-thumb="https://via.placeholder.com/150x100/ff0000">ITEM-1</li> <li class="work-list" data-thumb="https://via.placeholder.com/150x100/00ff00">ITEM-2</li> <li class="work-list" data-thumb="https://via.placeholder.com/150x100/0000ff">ITEM-3</li> </ul> <img id="work-thumb" src="https://via.placeholder.com/150x100/" alt="">

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