JQuery: animate() ne fonctionne pas comme prévu dans IE
Je deviens fou avec cette IE 7...
==> hhttp://neu.émergentes-innovation.com/
Pourquoi la fonction suivante fonctionne pas dans IE 7, mais parfaitement avec Firefox? Est-il un bug dans l'animation de la fonction?
function accordion_starting_page(){
//hide all elements except the first one
$('#FCE-Inhalt02-ContentWrapper .FCE-Fade:not(:first)').css("height", "0").hide();
$('#FCE-Inhalt02-ContentWrapper .FCE-Fade:first').addClass("isVisible");
$('div.FCE-Title').click(function(){
//if user clicks on an already opened element => do nothing
if (parseFloat($(this).next('.FCE-Fade').css("height")) > 0) {
return false;
}
var toHide = $(this).siblings('.FCE-Fade.isVisible');
toHide.removeClass("isVisible");
//close all opened siblings
toHide.animate({"height": "0", "display": "none"}, 1000);
$(this).next('.FCE-Fade').addClass("isVisible").animate({"height" : "200"}, 1000);
return false;
});
}
Merci beaucoup pour votre aide...
Merci beaucoup, ceux qui ont été de grands conseils! Malheureusement, cela ne fonctionne toujours pas...
Le problème est que IE montre le contenu des deux récipients jusqu'à ce que l'animation est plus... Firefox se comporte correctement... je pensais que c'est la chose avec "overflow: hidden" - mais cela n'a rien changé.
J'ai déjà essayé de l'accordéon plugin, mais il se comporte exactement de la même...
alors que recevez-vous et qu'attendez-vous?
J'attends qu'il se comporte comme Firefox: que les conteneurs de contenu sont couverts et révélé lors de l'animation. IE7 affiche immédiatement le "nouveau" contenu et montre que le "vieux" contenu jusqu'à ce que l'animation est terminée...
quatre-ohhhh-quatre
J'attends qu'il se comporte comme Firefox: que les conteneurs de contenu sont couverts et révélé lors de l'animation. IE7 affiche immédiatement le "nouveau" contenu et montre que le "vieux" contenu jusqu'à ce que l'animation est terminée...
quatre-ohhhh-quatre
OriginalL'auteur swalkner | 2008-12-02
Vous devez vous connecter pour publier un commentaire.
Comme l'a déclaré Paul, lors de l'utilisation de la méthode. Animate () de jQuery IE7 navigateur ne reconnaît pas en interne, la propriété 'position'. par exemple
Règle CSS:
Mise en œuvre de l'animation en jQuery:
Ce qui fonctionne dans tous les navigateurs:
Règle CSS:
JQuery code:
Dans mon cas, il a été résolu de cette façon.
OriginalL'auteur Tadeu Luis
Je suis tombé sur un problème similaire avec la fonction animate et a été surpris quand il a été de montrer que l'erreur vient du cœur de la bibliothèque jQuery. Cependant jQuery est fine, son IE vous avez besoin pour répondre.
Lors de l'animation d'un attribut d'un élément dans IE, vous devez assurez-vous que dans votre CSS, il est un point de départ pour l'attribut que vous allez modifier. Ceci s'applique également à Safari.
Comme un exemple, le déplacement d'une div en permanence à gauche,
JQuery:
CSS:
Si vous NE le mettez PAS dans un gauche & position de départ IE finira par jeter une erreur.
Espère que cette aide
OriginalL'auteur
Après un jour de vous demander POURQUOI IE ne pas animer les choses, j'ai trouvé que certaines versions de JQuery ne plus faire ce qu'ils utilisés pour:
Ce:
ne fonctionnera PAS avec cette Jquery:
https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js
mais il NE fonctionne pas avec:
https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js
hourra les anciennes versions!
OriginalL'auteur Mladen
Vous pourriez faire usage de le sélecteur jQuery :visible plutôt que par le basculement de la isVisible classe.
Également votre animation semble fonctionnellement identique à slideUp(1000).
OriginalL'auteur Simon
J'ai eu un problème récemment où animate() ne fonctionnait pas comme prévu et il s'agissait de rendu d'IE mon css padding: propriétés différemment pour FireFox.
Cela semblait être arrivé à d'autres personnes, et j'ai dû bricoler autour dans mon css; à l'aide des marges et des largeurs fixes et d'autres horribles IE hacks, à la place.
OriginalL'auteur adam
Cela peut être hors sujet mais je suis à jouer avec JQuery et sa grande, mais étant nouveau pour le Javascript, je n'ai pas réaliser que IE 7 et IE 8 ne reconnaît pas le mot-clé const . C'est ce qu'a été l'arrêt de mon JQuery à partir de l'exécution n'est pas un problème avec l'animation ..espérons que ça pourrait aider certains désespérée de l'âme. l'homme je ne peux pas attendre pour revenir à ce bon vieux AS3 et Flex..
voir
http://www.gtalbot.org/BrowserBugsSection/MSIE7Bugs/JSConstKeyword.html
pour plus d'
OriginalL'auteur dave
Changer votre durée pour IE. Faire 1/10ème de ce que vous feriez dans FF, et il devrait être à peu près le même comportement dans les deux navigateurs:
FF
IE
Devrait résoudre le problème.
OriginalL'auteur John K
Je ne suis pas sûr de ce que le problème est exactement... peut-être que vous ne pouvez pas animer "
display: none
" ? Essayez ceci:...de la pensée, il semble comme il pourrait y avoir quelques autres problèmes avec le conteneur de ne pas avoir
overflow: hidden
fixés sur elle.La meilleure façon peut-être pour éviter de réinventer la roue: le plugin jQuery UI a un accordéon intégré. http://docs.jquery.com/UI/Accordion Je suis sûr que l'honorable M. Resig & Co ont déjà traité avec quelque bugs que vous pourriez rencontrer.
OriginalL'auteur nickf