2014-05-01 4 views
1

J'ai un script qui lorsque le bouton est survolé va l'animer de sorte qu'il apparaît, malheureusement je ne peux pas le faire fonctionner dans IE. Il utilise jQuery et fonctionne dans tous les autres navigateurs.animate() ne fonctionne pas dans Internet Explorer

S'il vous plaît voir le violon: http://jsfiddle.net/JHS5g/1/ J'ai essayé d'imiter mon code réel autant que possible et ont donc laissé dans une partie du code environnant.

$("#main-nav div").hover(function() { 
    $(this).stop().animate({ 
    top: "-40px" 
    }, { queue: false, duration: 200 }); 
}, function() { 
    $(this).stop().animate({ 
    top: "0px" 
    }, { queue: false, duration: 200 }); 
}); 

je pense que c'est une erreur html ou css des thats la casser parce que quand je teste le code jquery sur son propre cela fonctionne, mais je ne peux pas mettre le doigt dessus.

J'ai remarqué que le violon est une des balises html en rouge, indiquant une erreur? mais encore une fois je ne peux pas le voir.

Merci à l'avance pour toute aide

Répondre

2

Vous pouvez obtenir de travailler en ajoutant display: inline-block à la div vous animez

J'ai mis à jour votre JS Fiddle

+0

superbe ça marche –

+0

Merci, ça marche! – Goodbytes

0

Retirez le jQuery. Ce que vous essayez de faire est extraordinairement simple en CSS en utilisant une propriété CSS :hover psuedoclass de base et transition CSS.

La meilleure partie? Il fonctionnera même dans les anciennes versions de IE (jusqu'à IE7 - avant que :hover ne fonctionnera pas sur les éléments qui ne sont pas <a>), bien qu'il ne sera pas animer dans IE8 ou ci-dessous. Cela ne pose aucun problème, car les transitions ne sont pas des fonctionnalités et ne sont donc pas nécessaires. De plus, il offre un petit bonus aux personnes suffisamment intelligentes pour ne pas désactiver Windows Update.

+0

Je suis entièrement d'accord, mais il était à peu près la seule exigence qui m'a été donnée par le client que les boutons de navigation apparaissent comme mon ancien site et quand j'ai demandé au client de tester la fonctionnalité dans Google Chrome (pour garantir une compatibilité à 100% au bénéfice de la démo) j'ai reçu la réponse "je ne sais pas quoi vous parlez de "donc je n'ai pas d'autre choix que de m'assurer que ça fonctionnera à IE 8 (vis IE 7!) et jquery est le pari le plus sûr ici. – Goodbytes

Questions connexes