jQuery Animation de la Bascule
C'est une question assez simple problème. J'ai pratiquement un bloc div sur une page qui, lorsqu'il est cliqué, augmente en taille, et quand on clique de nouveau pour retourner à ce qu'il était. Mon problème est qu'il ne semble tout simplement pas de travail du tout. De Plus, je suis sûr qu'il est beaucoup plus propre façon de basculer entre deux animation d'états que si un énoncé comme cela, mais je ne suis pas sûr exactement comment aller à ce sujet.
$(document).ready(function(){
var toggle = 0;
$(".login").click(function(){
if($toggle == 0){
$(this).animate({
height: '200',
}, 500, function(){
});
$toggle = 1;
}
else if($toggle == 1){
$(this).animate({
height: '100',
}, 500, function(){
});
$toggle = 0;
}
});
});
Code html correspondant est simplement
<div class="login">Click Me</div>
Laissez-moi savoir si quelque chose d'autre est nécessaire.
- Il ne fonctionne pas parce que vous initialisez
toggle
avec0
mais l'utilisation$toggle
dans tout le reste de votre code.
Vous devez vous connecter pour publier un commentaire.
Votre code ne fonctionne pas parce que vous avez utilisé
toggle
en un seul endroit et$toggle
dans un autre.Mais, cela peut être fait plus simplement comme ceci:
De travail démo ici: http://jsfiddle.net/jfriend00/5Wu6m/
Quand on donne une liste de fonctions comme arguments, la
.toggle(fn1, fn2)
méthode va alterner entre les fonctions de départ donné avec la première. Cette conserve automatiquement la trace de la bascule dans l'état pour vous - vous n'avez pas à le faire.jQuery doc est ici. Il existe de multiples formes de .toggle() selon les arguments utilisés afin de ne pas toujours trouver la bonne lors de la recherche de la doc jQuery.
.on('mouseover',...
?.on('mouseover',...)
? Veuillez poser une nouvelle question où vous pouvez décrire les détails de ce que vous essayez de faire. Peut-être que vous êtes à la recherche pour jQuery.hover()
?Avis la différence entre
et
Vous définissez une variable nommée
toggle
, puis l'utiliser comme$toggle
.Essayer
slideToggle
affiche et masque l'élément, il ne se contente pas de définir la hauteur entre les deux valeurs.Deux problèmes que je rencontre. L'une est la portée de votre bascule variable. L'autre est de la commune après l'attribut unique dans votre animation liste d'attributs. Essayez ceci:
VIOLON
Je veux défendre votre bascule la solution, il n'est pas incorrect.
Dans certains cas seulement de cette manière du code du travail correct, bien que
.toggle()
va faire des choses étranges.Seulement, au lieu de
if($toggle == 0){...
vous avez besoin d'utiliserif ( toggle === 0 ){