Ese código está bastante mal. No tiene mucho sentido usar jQuery y además eventos inline. Además, estás usando $(document).ready() cada vez que se pasa el mouse por el elemento.
Yo haría algo así:
Código Javascript
:
Ver original$(function(){
$('li a.mostrar-heroe').hover(function(){
var heroe = $(this).data('heroe');
if (heroe < 1) return;
$(".on").removeClass("on");
$(this).addClass("on");
procesarHeroe(LH[heroe]);
});
});
Código HTML:
Ver original<li><a href="#" class="mostrar-heroe" data-heroe="2"><img src="heroes/2/icono.jpg"></a></li>
No se si funciona porque lo hice sin probar, pero debería. De todas formas la idea se entiende.
- Usás una clase para identificar los elementos que realizan la acción.
- Usás el atributo data-heroe para almacenar a qué heroe hace referencia.
- Llamás $(document).ready() solo una vez.