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

この機能をキューで実行したい。しかし、私は常に 0 です。私はこれを行っていることを知っています。それで、私は何ができますか:D

css の変数を取得できますか。(div#rozet).top の変数、次の場合に使用できます

4

2 に答える 2

0

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

しかし、あなたはあなたのif(i == 0)を持っています

$(document).ready(function(){の前

それが問題です。$(document).ready()はイベントハンドラーであるため、iが等しいにもかかわらず、$(document).ready()のコードが呼び出されています。

次のようにコードを作り直す必要があります

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

}
于 2009-04-15T19:14:39.660 に答える
0

else if を使用する必要があります。これら 2 つの if を実行する関数を呼び出している場合、i == 0 の場合は両方とも実行されます。各関数にアラートを入れることで確認できます。i が 0 の場合、最初の if ステートメントは真であり、作業を行い、i を 1 に設定し、2 番目の if 実行よりも、最後の if が i を 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;
  }
});

これは、Firebug を使用して作成した最終結果です。Firebugがある場合は、このページのコンソールでこれを実行できます。実行したら、回答数と並べ替えオプションを含む行をクリックできます。それはおおよそあなたが探していたものだと思います。

于 2009-04-15T19:36:41.587 に答える