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; 
} 

私は少し英語があります。とにかく私は始めている:D静的変数問題JQueryで

私はキューでこの機能をしたい。しかし、私はいつも0です。私はこれをやっていることを知っています。だから何をすることができます:D

私はCSSの変数を取ることができます。 (div#rozet).topの変数であれば、私はそれを使用することができます

答えて

0
ようにあなたのコードを手直しする必要が

、イベントハンドラです

else ifを使用する必要があります。これらの2つのifを実行する関数を呼び出す場合は、i == 0の場合には両方が実行されます。各関数に警告を出すことでチェックできます。文がtrueで、作業を行い、そしてiを設定1にしている場合、私は最初の0、あるときは、今もそれを実行している場合、最後にはこれは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; 
    } 
}); 

に私に設定するので、真である場合に、第2のよりFirebugを使用して作成した最終結果。 Firebugの場合は、このページのコンソールでこれを実行できます。実行されると、回答数とソートオプションを含む行をクリックすることができます。私はそれがおおよそあなたが探していたものだと思います。

0

ここで私は宣言され、設定されていますか?

しかし、あなたは $(ドキュメント).ready(関数(){問題である

。$(ドキュメント).ready前(I == 0)

場合があります()$(ドキュメント).ready()内のコードは、iが等しい何にもかかわらず、呼び出されるようにします。あなたは

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

} 
関連する問題