2009-04-15 9 views
0
if(i==0){ 
     $(document).ready(function(){ 
     $("div#rozet").hover(function(){ 
      $(this).hide("fast"); 
      $(this).animate(
         { top:'+45px', left:'+500px'}, 
         {duration: 1} 
        );   
     $(this).show("slow");   
     $(this).stopall(); 
     }); 
i=1; 
} 
if(i==1){ 
     $("div#rozet").hover(function(){ 
      $(this).hide("fast"); 
      $(this).animate(
         { top:'-85px', left:'+500px'}, 
         {duration: 1} 
        );   
     $(this).show("slow");   
     $(this).stopall(); 
     }); 
    }); 
i=0; 
} 

Je suis désolé, j'ai un peu d'anglais. De toute façon je commence: DProblème de variable statique sur JQuery

Je veux faire ces fonctions avec la file d'attente. Mais je suis toujours 0. Je sais que je fais ça. Alors que puis-je faire: D

Puis-je prendre les variables de css. (div # rozet) La variable .top, je peux l'utiliser si

Répondre

0

Vous devez utiliser un autre si. Si vous appelez une fonction qui exécute ces deux ifs, les deux s'exécuteront si i == 0. Vous pouvez le vérifier en mettant une alerte dans chaque fonction. Quand i est 0, la première instruction if est vrai et fait le travail, et des ensembles i à 1 et que le second si court il est maintenant aussi vrai depuis le dernier si je me mis à 1.

i = 0; 
jQuery("#subheader").click(function() { 
    if (i == 0) { 
    alert ("i was 0"); 
    i = 1; 
    } 
    else if (i == 1) { 
    alert ("i was 1"); 
    i = 0; 
    } 
}); 

C'est le résultat final que j'ai créé en utilisant Firebug. Si vous avez Firebug vous pouvez l'exécuter dans la console sur cette page. Une fois lancé, vous pouvez cliquer sur la ligne qui contient le nombre de réponses et les options de tri. Je pense que c'est à peu près ce que vous cherchiez.

0

où est-ce que je suis déclaré et réglé?

MAIS, vous avez votre if (i == 0)

avant la $ (document) .ready (function() {

C'est un problème. $ (Document) .ready() est un gestionnaire d'événements, de sorte que le code $ (document) .ready() est appelé, malgré ce que i est égal à.

Vous devez retravailler votre code afin que

$(document).ready(function(){ 
    if (i == 0) { 
    ... 
    } 
    if (i == 1) { 
    ... 
    } 

}