1

jQuery トグルを使用して 2 つの関数間を移動する実験を行っています。これまでの結果は散々でした。以下は、トライアル シナリオのコード全体です。

<html>
<head>
  <script type="text/javascript" src="../js/jquery.js"></script>
  <script>
  $(document).ready(function(){
     $('#id').on('click',function(event){
         $(this).toggle(
             function(){console.log('Hide');},
             function(){console.log('Show');}
         );
     });
  });
  </script> 
</head>

<body>
  <div id="id">Hello</div>
</body>
</html>

そのため、初めて「Hello」をクリックすると、ログに何も表示されません。

[Nothing]

2 回目のクリックで、次のようになります。

Hide

3 番目に、次のように追加します。

Show
Hide

4 番目に、次のように追加します。

Hide
Show
Hide

5 番目に、次のように追加します。

Show
Hide
Show
Hide

パターンを見ていただけると思います:) なぜこれを行っているのですか?私は実験しまし.stop(true)たが、役に立ちませんでした。

ありがとう。

4

1 に答える 1

4

toggle()clickクリックで実行されるため、イベント ラッパーは必要ありません。

$('#id').toggle(
         function(){console.log('Hide');},
         function(){console.log('Show');}
     );

現在のコードは、最初にクリックされたときにイベントtoggle()をトリガーするようにアタッチされclickているため、最初に要素をクリックしたときに何も得られません。

于 2012-04-11T02:11:49.953 に答える