0

私は小さな Web アプリを作成しており、特定のオブジェクトの作成や削除などのいくつかの機能で AJAX を使用しました。

ユーザーに通知するために、オブジェクトが正常に作成されたかどうかに応じて、PHP を使用して HTML 通知を画面に表示しました。

if ($query) {
 //response to ajax call if successful
  echo '<div class="alert alert-success"><a class="close" data-dismiss="alert">×</a><h4 class="alert-heading">Success!</h4>Object Added!</div>';

}

問題は、通知を削除するための更新がないため、時間の経過とともに通知が画面に蓄積されることです。

以下に示すように、5秒ごとにアラートを削除できるjQuery関数があります

function clearAlerts(){
        setTimeout(function() {
            $('.alert').fadeOut('fast');
        }, 5000);
    }

しかし、通知がページに追加されるたびにこの関数を呼び出す方法がわかりません.jQueryを使用して、通知がページにエコーされたことを検出したり、追加されるたびにこのjQuery関数を実行したりする方法はありますか? .

ありがとう

4

2 に答える 2

2

生成する各 HTML スニペット内にこのタグを直接配置します。好きなようにスタイルを設定できます。

<span class="close-notification">Close</span>

次に、この JS の一部を使用して、クリックしたときにそれを削除します。

$(document).on('click', '.close-notification', function(){
    $(this).parent().fadeOut(); // could use .remove(), .slideUp() etc
});
于 2012-05-09T12:55:30.677 に答える
0

jQueryにより、必要なことが可能になります。まず、通知divにクラスを追加します。次に例を示します。

<div class="notification">Notification</div>

次に、このjQuery:

$( "。notification")。live( "ready"、function(){
                $( "。notification")。setDelay(5000).fadeOut( "slow");
            });

于 2012-05-09T13:06:24.227 に答える