一旦得到ajax响应,我想做一些像fadeIn
这样的效果。
我试过这个,
$.ajax({
type: "post",
url: actionLink,
cache: false,
data: ....someData....,
success: function(data) {
$(".response").fadeOut(100);
$(".response").html(data);
$(".response").fadeIn(500);
}
});
这是有效的,但数据首先显示,并且闪烁500毫秒获取具有淡入淡出效果的数据,但我需要直接获取加载数据的淡入淡出效果。
我甚至尝试使用Fade out a div with content A, and Fade In the same div with content B,但我仍然遇到同样的问题。
我也尝试过:
$(".response").fadeOut(100).hide();
$(".response").show().html(data).fadeIn(500);
还是一样。我该如何解决这个问题?
答案 0 :(得分:5)
这件事有效.........
jQuery(".response").fadeOut( 100 , function() {
jQuery(this).html( data);
}).fadeIn( 1000 );
答案 1 :(得分:2)
你试过了吗?
$(".response").fadeOut(100).html(data).fadeIn(500)
答案 2 :(得分:0)
尝试$(".response").fadeOut(100).delay(100).html(data).fadeIn(500)
这会强制后续操作(将html添加到你的div)等到fadeOut完成后。
答案 3 :(得分:0)
success:function(data)
{
$(".response").fadeOut(600, function ()
{
$(".response").html(data)
});
$(".response").fadeIn(600);
}
答案 4 :(得分:0)
我找到的最简单方法是将初始fadeOut()设置为' 0'。这非常有效:
$(".response").fadeOut(0).html(result).fadeIn(500);
设置一个具有实际值的初始fadeOut()会使其“弹出”。 in,然后它渐渐消失。仍然不是理想的结果。
因此,通过将初始fadeOut设置为0,意味着它在淡入之前不会花费十分之一秒的时间淡出。所以你不会产生奇怪的效果。
答案 5 :(得分:0)
概念是:一旦收到ajax响应,请淡入消息-等待几秒钟(延迟)-淡出 像这样 - - - $('div.errorul')。fadeIn(600).html('msg').delay(1000).fadeOut(500);