2010-01-13 4 views
4

J'ai une séquence de la position div absolue, disentJQuery - IE6 - Comment faire pour FadeOut et FadeIn simultanément?

<div>...</div> 
<div style="display:none">...</div> 
<div style="display:none">...</div> 
<div style="display:none">...</div> 

j'ai écrit un simple code de diapositive à l'aide jQuery

currentDiv.fadeOut('slow'); 
nextDiv.fadeIn('slow'); 

Il fonctionne parfaitement en FF/Chrome/Safari/IE7/IE8, mais pas dans IE6. J'ai trouvé dans IE6, fadeOut et fadeIn ne se produisent pas simultanément comme dans les autres navigateurs, fadeIn commence toujours après fadeOut est terminée. des idées?

+2

Veuillez ne pas développer pour Internet Explorer 6. Les développeurs ** doivent ** obliger les utilisateurs à utiliser un navigateur Web ** opérationnel **. –

+0

@Alan - Il y a beaucoup plus que les préférences des développeurs au travail dans le monde. La politique a un effet beaucoup plus grand ... – cjk

+4

@Alan. Je travaille pour une organisation avec plus de 500 employés utilisant IE6 parce que c'est tout ce que l'entreprise fournit, donc je dois développer pour cela. Pouvez-vous s'il vous plaît conseiller la meilleure façon de «forcer» l'ensemble de l'entreprise à changer? @Relax est minutieux et devrait à juste titre faire fonctionner son code sur IE6. Les statistiques montrent qu'un très grand nombre de personnes utilisent encore ce navigateur. –

Répondre

2

Je viens d'essayer cet exemple et à la fois un fadeIn et le travail de fadeOut en même temps dans IE6:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
       "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
    <script src="http://code.jquery.com/jquery-latest.js"></script> 

    <script> 
    $(document).ready(function(){ 

     $(document.body).click(function() { 
     $("div#one").fadeOut("slow"); 
     $("div#two").fadeIn("slow"); 

     }); 

    }); 
</script> 
<style> 
    span { color:red; cursor:pointer; } 
    div { margin:3px; width:80px; display:none; 
    height:80px; float:left; } 
    div#one { background:#f00; display:block;} 
    div#two { background:#0f0; } 
    div#three { background:#00f; } 
</style> 
</head> 
<body> 
<span>Click here...</span> 
<div id="one"></div> 
<div id="two"></div> 
<div id="three"></div> 
</body> 
</html> 

I modifié l'exemple de: http://docs.jquery.com/Effects/animate#paramsoptions

J'ai remarqué Avant cela, l'affichage des styles à none dans le div réel au lieu de dans le fichier css ou via jquery peut parfois causer des problèmes. Essayez de donner à chaque div une classe de displaynone au lieu de définir leur balise de style. Espérons que cela aide et bonne chance!

0

Avez-vous essayé d'écrire votre propre animation pour atteindre les fades, plutôt que d'utiliser les paramètres par défaut fournis. Je ne sais pas si ça va aller mieux, mais ça vaut le coup d'essayer.

http://docs.jquery.com/Effects/animate

+0

oui, jamais essayé, mais pas de chance – Edward

Questions connexes