1

指定した時間後に HTML 要素を削除することは可能ですか?

また、指定された時間の間に条件が満たされた場合、タイマーが要素を削除するのを停止する必要があります。

サンプルコード、

<ul>
   <li  data-id="25">
      <a class="online">Marco</a>
   </li>
   <li  data-id="53">
      <a class="online busy">Polo</a>
   </li>
</ul>

ユーザー Marco がオフラインになると、<li>10 秒後に Marco を削除する必要がありますが、10 秒以内にオンラインに戻った場合はタイマーを停止し、<li>削除しないでください。

ソケットは、ユーザーのオンライン ステータスを処理します。

socket.on('user_connected', function(data){
   var uId = data['uId'];
   ///
});

socket.on('user_disconnected', function(data){
   var uId = data['uId'];
   ///
});

タイマーを使用して要素を削除し、要素を削除する前にタイマーを停止するための一般的な解決策を教えてください。

4

3 に答える 3

0

みんなありがとう!!

私はあなたの助けを借りてジェネリック関数を作成しました.

function auto_destroy(data)
{
    var t = setTimeout(function() {
            data['DOM'].fadeOut('fast',function(){
                $(this).remove();
            });
        }, data['secs']);

    data['DOM'].data('destroy_timer', t);
}

function remove_destroy_timer(dom)
{
    clearTimeout(dom.data('destroy_timer'));
}
于 2013-09-02T17:08:20.440 に答える