0

私のウェブサイトにいくつかの画像があり、このコードを使用して、それらを非表示にし、表示されている画像を変更して元に戻したいのですが、新しい画像がすぐに表示されます。どうしたらいいのかわからない。

これはjavascriptです:

$(document).ready(function() {
  $('.show').click(function() {
    $(this).removeClass("show").addClass("clickedShow");
    $('.show').animate({opacity: 0}, 1000);
    $(this).delay(1000).animate({opacity: 0}, 1000);

    $(this).animate({opacity: 1}, 1000).attr("src", "pic2.png");
    $('.show').delay(1000).animate({opacity: 1}, 1000).attr("src", "pic2.png");
  });
});
4

2 に答える 2

4

delayキューに入れることができるアニメーションに対してのみ機能し、キューに入れattrられないため、の影響を受けませんdelay。アニメーションの最後で何かをしたい場合は、animationコールバックにアクションを追加します。

$(this).animate({opacity: 1}, 1000, function(){$(this).attr("src", "pic2.png")});
于 2013-03-15T09:34:52.043 に答える
0

.delay() メソッドは、キューに入れられた jQuery エフェクト間の遅延に最適です。制限があるため、たとえば、遅延をキャンセルする方法はありません。

そのため、キューに入れられた jQuery エフェクトを試して使用し、その間に .delay(1000) を使用できます。お気に入り:

$("button").click(function() {
      $("div.first").slideUp(300).delay(800).fadeIn(400);
      $("div.second").slideUp(300).fadeIn(400);
    });</script>
于 2013-03-15T09:44:39.013 に答える