2010-11-10 8 views
1

J'ai un menu d'arrière-plan en mouvement. son ok dans Chrome et Firefox, mais ne fonctionne pas dans IE6 IE Dit, css (...) null ou pas un objet.

Voici le code;

$(".menu>li") 
    .mouseover(function(){ 
    var myx = $(this).css('background-position').split(' ')[0]; 
    //alert(myx); 
    if(myx!=""){ 
    $(this).stop().animate({backgroundPosition:myx+" -30"},200) 
    } 
    }) 
    .mouseout(function(){ 
    var myx = $(this).css('background-position').split(' ')[0] 
    //alert(myx); 
    if(myx!=""){ 
    $(this).stop().animate({backgroundPosition:myx+" 0"},100) 
    } 
    }) 

et c'est la page d'exemple: http://beta.hengame.net/

+0

Ne fonctionne pas non plus dans IE9. – mpen

Répondre

2

trouvé le problème, et a résolu le problème. Il suffit de remplacer

$(this).css('background-position').split(' ')[0] 

avec

$(this).css('background-position-x') 

(ce qui est plus propre de toute façon). Testé dans IE9 et Chrome9, mais je suis assez confiant qu'il fonctionnera aussi avec les autres navigateurs.

+0

utilisez-vous des sprites css ?? – kobe

+0

Vous devriez demander @siniradam, pas moi, je suis juste répondre à sa question. De toute façon oui, il utilise un sprite CSS. – MartinodF

+0

merci beaucoup son travail sur les trois navigateurs! webkit, ff, ie – siniradam