1 votes

Javascript / jQuery ne s'exécute pas dans IE tant que le corps de la page n'est pas survolé

Je travaille sur un nouveau site de portfolio à l'adresse suivante http://www.nitrohandsome.com et je profite de cette expérience pour me faire les dents sur jQuery. J'utilise la dernière version et jcarouselite avec l'extension easing sur ma page principale pour un effet carrousel sympa. Cela fonctionne bien dans la plupart des navigateurs, mais lorsque j'ai commencé à tester dans IE (7 et 8, je n'ai pas encore commencé à optimiser pour 6.5), j'ai constaté que jQuery n'exécute pas le code dès que le document est chargé. Il semble plutôt attendre que l'on déplace la souris sur le corps du html lui-même. Cela fait que mon carrousel s'affiche comme une liste et que les boutons de mon menu principal ne s'affichent pas correctement tant que l'utilisateur n'a pas déplacé la souris. J'ai utilisé photos de navigation.org pour vérifier si cela ne se produisait que sur ma machine, mais malheureusement non. Quelqu'un peut-il m'éclairer sur ce point ? Je suis un novice avec jQuery, et j'ai seulement un peu plus d'expérience avec javascript en général, bien que je sois assez familier avec d'autres langages ECMA tels que Actionscript.

J'afficherais bien la source, mais l'aperçu en direct de l'article montre qu'il essaierait de rendre le HTML.

Merci d'avance.

11voto

Paolo Bergantino Points 199336

Vous avez une virgule supplémentaire quelque part dans votre code. Vérifiez s'il y a quelque chose comme ceci :

{
 param: "whatever",
 param2: "whatever", // <- extra comma!
}

IE meurt dans ces cas-là, mais pas Firefox.

EDIT : Voici la virgule supplémentaire :

$("#carousel").jCarouselLite({
    btnNext: "#next",
    btnPrev: "#prev",
    visible: 3,
    easing: "easeout",
    speed: 150, // <- REMOVE THIS COMMA
});

DEUXIÈME RÉDACTION :

Pour le bien de tous ceux qui trouveront cette page plus tard, la raison pour laquelle sa page ne s'affichait pas correctement était la version 1.3.1 de jQuery. documenté problèmes avec document.ready se déclenchant après les images ou pas du tout. Un correctif apporté à la dernière version de jQuery a permis de résoudre le problème.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X