我正在尝试更新.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然后淡入?
答案 0 :(得分:2)
jQuery fadeIn / fadeOut(和其他动画方法)可以将回调作为第二个参数。
if(data==1) {
var newhtml = html;
$('#nyhedsbrev').fadeOut(500, function() {
$('#nyhedsbrev').html(newhtml).fadeIn();
});
}
工作示例:jsFiddle
答案 1 :(得分:0)
这个jsfiddle工作..
$("#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); });
});
});