Jquery .html,然后.fadeout

时间:2013-05-04 09:00:46

标签: jquery fadein innerhtml fadeout

我正在尝试更新.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();
 }

如果我只使用第二行 - 或者我只尝试第一行,它的工作正常。 但是,这些都不起作用。

我还尝试将两行合并 - 删除第二行$('#nyhedsbrev)。 你能解释我怎么能先显示新文本 - 然后将其淡出来取代现有的html然后淡入?

        • 澄清 - - - 问题是第一部分没有显示 - 淡出/在工作中......

2 个答案:

答案 0 :(得分:2)

jQuery fadeIn / fadeOut(和其他动画方法)可以将回调作为第二个参数。

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

工作示例:jsFiddle

答案 1 :(得分:0)

这个jsfiddle工作..

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);  });
}); 

});