2010-03-09 9 views
1

Je construis une page de produit, peut être vu ici (http://n9nemedia.net/v2/products/), et le script d'une manière singulière (ne pas cacher plusieurs divs avec un auditeur fonctionne parfaitement - peut être vu ici http://www.supercentral.net/downloads en cliquant sur "Read List" sous Zombie Map Pack) fonctionne parfaitement.jQuery IE7 bug sur plusieurs écouteurs .hide

Ma question est, que puis-je faire pour faire (http://www.n9nemedia.net/v2/products/) travailler dans IE7?

Exemple de code:

jQ(".prod-details-web").hide(); 
jQ(".prod-details-dev").hide(); 
jQ(".prod-details-grow").hide(); 
jQ(".prod-details-brand").hide(); 
jQ(".prod-details-3g").hide(); 
jQ(".prod-expand-web").click(function(event) { 
    jQ(".prod-details-dev").slideUp("fast"); 
    jQ(".prod-details-grow").slideUp("fast"); 
    jQ(".prod-details-brand").slideUp("fast"); 
    jQ(".prod-details-3g").slideUp("fast");        
    jQ(this).parents(".prodcontent") 
     .find(".prod-details-web").slideDown("slow"); 
}); 
jQ(".prod-collapse-web").click(function(event) { 
    jQ(this).parents(".prod-details-web").slideUp("fast"); 
    event.preventDefault(); 
    jQ(".prod-details-web:hidden").show(); 
}); 

L'objectif est de montrer qu'un seul produit par un seul clic. Ne pas décocher toutes les divs sur le clic. Le script fonctionne parfaitement dans tous les navigateurs sauf IE7. Travailler dans Chrome, Firefox, Safari et IE8 * que j'ai vérifié personnellement.

Un conseil?

Répondre

0

Changé:

jQ (ce) .parents (de "prodcontent. ") de .Find (" prod-details-web. ") SlideDown (" lent");. });

à: ("prod-details-web ").

jQ (ce) .parents ("prodcontent") de .Find show (" lent"); });

et maintenant il fonctionne parfaitement dans IE7.

Cela a fonctionné très bien jusqu'à ce que j'ai vidé mon cache et trouvé un comportement génial dans Chrome et Safari. Une déclaration conditionnelle est nécessaire en plus si vous souhaitez conserver la même fluidité d'animation parmi les navigateurs

/*@cc_on @*/ 
    /*@if (@_jscript_version >= 5) 
    .find(".prod-details-web").show("slow"); 
    @else @*/ 
    .find(".prod-details-web").slideDown("slow"); 
    /*@end @*/