Bonjour, je pense que tu a fait une erreur à ces niveau la :
$('#menu2 ul li a:hover').stop().animate({backgroundPosition: posHover},{duration:300, easing:effet});
je pense que sa devrais être sa plutôt
$('#menu2 ul li a:hover').stop().animate({background-position: posHover},{300, effet});
Changement effectué backgroundPosition en background-position, et j'ai retiré la mention duration et easing.
Du coups même changement à ce niveau la :
$('#menu2 ul li a').stop().animate({backgroundPosition: posNormal},{duration:100, easing:effet});
en
$('#menu2 ul li a').stop().animate({background-position: posNormal},{100, effet});
et enfin :
$('#menu2 ul li a').css({backgroundPosition: posNormal});
en
$('#menu2 ul li a').css({background-position: posNormal});
J'espère que sa peut t'aider.