1

クリックすると要素がフェードし、css が変更され、フェードが解除されるこのスクリプトがあります。2回目のクリックで同じことをしたいのですが、他のcssに変更します。これをある種のループで実行したいのです。また、これをより少ないコードで作成できますか? 簡単な質問で申し訳ありませんが、私はjsが初めてです。

<script>
  $(function() {
  $("#banner").click(function() {
  $("#banner").fadeOut("fast", function() {
  $("#banner").css({top:"0", left:"0"});
  }).fadeIn("slow");
  });
  });
</script>
4

1 に答える 1

1

スクリプトが既に実行されていることを示す何らかのインジケーターが必要です。これを行うには、クラス名を追加して確認します。

$(function() {
  $("#banner").click(function() {
      if($("#banner").hasClass('done')) {
          // your new code
      }
      $("#banner").addClass('done');
      $("#banner").fadeOut("fast", function() {
        $("#banner").css({top:"0", left:"0"});
      }).fadeIn("slow");
  });
});
于 2013-09-18T15:40:28.813 に答える