2011-05-15 5 views
0

Slide out n'est pas un problème J'ai seulement un problème de diapositive qui n'apparaît pas et je pense qu'il n'a pas attrapé leur première largeur IF 0px. désolé im vraiment noobs à propos de jQuery.Problème Slide-In/Out JQuery

CODE:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js" type="text/javascript"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
    $("#ShowHideComment").click(function(){ 
     if ($(".iframe_comment").width() == "0px"){ 
      $(".iframe_comment").animate({width: "800px"}, {queue:false, duration:1000}); 
     } 
     else{ 
      $(".iframe_comment").animate({width: "0px"}, {queue:false, duration:1000 
      }); 
     } 
    }); 
}); 
</script> 

Répondre

1

De the docs:

Toutes les propriétés animées doivent être animés d'une valeur numérique unique

Vous n'êtes pas traiter avec des valeurs de propriété CSS ici, mais avec des entiers simples.

$(document).ready(function(){ 
    $("#ShowHideComment").click(function(){ 
     var $comment = $(".iframe_comment"); 
     if ($comment.width() == 0){ 
      $comment.animate({width: 800}, {queue:false, duration:1000}); 
     } 
     else{ 
      $comment.animate({width: 0}, {queue:false, duration:1000}); 
     } 
    }); 
}); 

également see width():

La différence entre .css(width) et .width() est que ce dernier renvoie une valeur de pixel unitaire moins

+0

wow frais grâce Tomalak ... Comment puis-je ajouter la fonction lorsque l'animation complète? J'ai essayé d'ajouter function() {in after duration: 1000. cela ne fonctionne pas .. – user453089

+0

Il existe un argument 'complete' pour' animate() '. Mettez votre fonction de rappel ici. En outre, il est peu probable que vous ayez vraiment besoin de 'queue: false'. Votre animation commencera toujours immédiatement tant qu'aucune animation n'est en cours. – Tomalak

+0

ici j'ai essayé: '$ comment.animate ({largeur: 0}, {queue: faux, durée: 450, function() {$ comment.hide()}});' alors ne fonctionne pas =/ – user453089

0

.width() rendements valeur numérique. Cette ligne if ($(".iframe_comment").width() == "0px") devrait être if ($(".iframe_comment").width() == 0)