2009-05-31 6 views
0

J'utilise ce code sur mon site:bascule pas dans IE travailler

var panel = $('.couch-hide'); 
    var originalPos = panel.css("right"); 
    panel.toggle(function() {$(this).animate({right:0},1000, 'easeOutBounce');},function(){$(this).animate({right:originalPos},1000);} 

); 

En FF il fonctionne parfaitement, mais dans IE, il ne sort pas en cliquant dessus. De plus, puisque j'utilise le droit CSS, il affiche les barres de défilement horizontales, mais pas FF. Des idées sur ce que je peux faire pour résoudre ce problème?

+0

Avez-vous vérifié quelle valeur "originalPos" est définie dans IE? –

+0

Quel serait le meilleur moyen de vérifier cela? Vous parlez de la variable, n'est-ce pas? Laissez-moi essayer de trouver un firebug mais pour IE, je sais qu'il y en a un là-bas. – Coughlin

+0

J'ai trouvé ceci: http://www.debugbar.com/?langage=en - Je vais essayer ça. – Coughlin

Répondre

1

Eh bien, fonctionne de la même manière pour moi dans Opera, Firefox et IE6/8.

En utilisant le code ci-dessous:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    <title>sandbox</title> 
    <script type="text/javascript" src="jquery.js"></script> 
    <script type="text/javascript" src="jquery.easing.js"></script> 
    <script type="text/javascript"> 
    $(function(){ 
     var panel = $('.couch-hide'); 
     var originalPos = panel.css("right"); 
     panel.toggle(
     function(){$(this).animate({right:0}, 1000, 'easeOutBounce');}, 
     function(){$(this).animate({right:originalPos}, 1000);} 
    ); 
    }); 
    </script> 
    <style type="text/css"> 
    .couch-hide { 
     position: absolute; 
     right: 100px; 
    } 
    </style> 
</head> 
<body> 
    <div class="couch-hide">Click me!</div> 
</body> 
</html> 

Le texte rebondit contre le bord droit de l'écran et vole ensuite en arrière.

Bien que l'utilisation de toggle pour ce faire semble étrange. Au moins, la documentation ne mentionne pas ce qui devrait se produire lorsque vous fournissez deux fonctions pour cela. Ou est-ce le comportement ajouté par jquery.easing.js? Pas familier avec celui-là.

Il serait utile que vous fournissiez aussi votre code HTML et CSS.

+0

Hey, désolé pour le retard et merci pour la réponse, voir dans FF ça marche bien ici: http://www.catonthecouchproductions.com/new/ - mais dans IE, vous verrez ce que je veux dire. Je vous remercie. – Coughlin

+0

Tout d'abord console.log() n'est pas supporté par IE (et d'autres navigateurs) et le script se bloque à ce moment-là. Après cela, le canapé semble être positionné hors de l'écran et IE ajoute une barre de défilement horizontal. Pour éviter cela, vous pouvez essayer de l'animer en tant qu'image de fond à la place ... Je ne sais pas vraiment, n'a pas eu besoin de faire quelque chose comme ça. –