1

を更新しようとしていて、.html('')その後delay(400)fadeOut更新.html('')し、最後にfadeInもう一度...

if(data==1) {
var html = "an other text" 
$('#nyhedsbrev').html('<br/><p style=\"width:100%; text-align:center;\">Tak for din tilmelding</p><br/>');
$('#nyhedsbrev').delay(2000).fadeOut().html(html).fadeIn();
 }

2 行目のみを使用する場合、または 1 行目のみを使用する場合は問題なく動作します。ただし、これらを一緒に使用しても機能しません。

また、2 つの行を結合しようとしました - 2 番目の行を削除し$('#nyhedsbrev)ます。最初に新しいテキストを表示する方法を説明できますか?それからフェードアウトし、内側の html を置き換えてからフェードインしますか?

        • 明確にする - - - 問題は、最初の部分が表示されないことです - フェードアウト/インが機能します...
4

2 に答える 2

2

jQuery fadeIn / fadeOut (およびその他のアニメーション メソッド) は、2 番目の引数としてコールバックを取ることができます。

if(data==1) { 
    var newhtml = html;
    $('#nyhedsbrev').fadeOut(500, function() {
        $('#nyhedsbrev').html(newhtml).fadeIn();
    });
}

作業例:jsFiddle

于 2013-05-04T09:06:23.640 に答える
0

このjfiddleは動作します..

http://jsfiddle.net/sN5e5/1/

$("#test").on('click', function(e) {
var oldhtml = "Tak for din tilmelding";
var newhtml = 'I m the new content of the div';
$('#nyhedsbrev').fadeOut(500, function() {
    $('#nyhedsbrev').html(newhtml).fadeIn();
    $('#nyhedsbrev').delay(2000);
    $('#nyhedsbrev').fadeIn(500, function() { $('#nyhedsbrev').html(oldhtml);  });
}); 

});

于 2013-05-04T10:15:27.953 に答える