2017-08-01 14 views
0

通知を表示して消滅させてから、DOMの終了後にDOMから自分自身を削除しようとしています。アニメーション後に動的に作成されたコンテンツを削除する

私は次のことを試してみました:

を:

var minibasketAlert = function (uid, desc) { 
    $('.minibasket-alerts').append($('<div class="minibasket-alert" id="'+uid+'-alert"><p>Adding '+desc+' to basket</p></div>')); 
    $('#' + uid + '-alert').fadeIn('fast').delay(2000).fadeOut('slow', function() { 
    $('#' + uid + '-alert').remove(); 
    }); 
}; 

これは私も試してみましたDOMに項目を追加し、それが

終了したとき、それはDOMから削除されませんが出て、それをフェードアウトし、

var minibasketAlert = function (uid, desc) { 
    $('.minibasket-alerts').append($('<div class="minibasket-alert" id="'+uid+'-alert"><p>Adding '+desc+' to basket</p></div>')); 
    $('#' + uid + '-alert').fadeIn('fast').delay(2000).fadeOut('slow', function() { 
    $(this).remove(); 
    }); 
}; 

これにより、アニメーション効果が発生する前に、新たに追加された要素がDOMから削除されます。私は、関数を実行すると、私はインスペクタで点滅親要素を見ることができますが、何も、ビューポートに表示されなかっ

+0

の正しいオプションました? – JBO

+0

その後、アニメーションが実行される前に削除されます。要素が動的に追加されていなくてもこのようになります https://jsfiddle.net/8zmbq39a/ – Richie

+0

@リッチ削除機能はコールバック関数 – Nico

答えて

0
var minibasketAlert = function (uid, desc) { 
    $('.minibasket-alerts').append($('<div class="minibasket-alert" id="'+uid+'-alert"><p>Adding '+desc+' to basket</p></div>')); 
    $('#' + uid + '-alert').fadeIn('fast').delay(2000).fadeOut('slow', function() { 
     $('#' + uid + '-alert').remove(); 
    }); 
}; 

を使用すると、コールバック関数の外の要素を削除する場合は起こった何2

関連する問題