2

すべて、私は次のjQueryコードを持っています:

jQuery.post(site_url + "save_data.php", jQuery(this).serialize(),
    function(data) {
        //alert("Data Loaded: " + data);
        jQuery("#results").html(data+"<br><br>");
        jQuery("#check_submission").val("yes");
    });

一定時間(5秒)後に結果divをフェードアウトしたいと思います。

それに加えて、フォームを再送信する場合は、結果divをさらに5秒間表示してから、もう一度フェードアウトしたいと思います。

誰かがこれを行う方法について正しい方向に私を向けることができますか?

ありがとう!

4

2 に答える 2

1
jQuery.post(site_url + "save_data.php", jQuery(this).serialize(), function(data) {
    //alert("Data Loaded: " + data);
    var results = jQuery("#results");

    results.html(data+"<br><br>")

    results.show(); // re-display the div
    setTimeout(function(){ // then fade it out....
      results.fadeOut();
    }, 5000); // ...after 5 seconds

    jQuery("#check_submission").val("yes");
});
于 2012-07-03T01:32:19.213 に答える
0

結果行を次のように置き換えます。

$("#results").html(data+"<br><br>").fadeIn(10).delay(5000).fadeOut(200);

10 ミリ秒でスムーズにフェード インし (おそらく 100 の方がよいでしょう)、以前のフェード アウトを元に戻し、5 秒遅延してから 200 ミリ秒でフェード アウトします。

編集: jQuery < 1.4 を使用している場合は、遅延関数がないための回避策として使用できます。

$("#results").html(data+"<br><br>").fadeIn(10).animate({opacity: 1.0}, 5000, function () { 
    $("#results").fadeOut(200);
});
于 2012-07-03T01:31:23.957 に答える