jquery ajax成功淡入淡出效果
我想在收到 ajax 响应后执行一些效果,例如 fadeIn
到页面。 我尝试了这个,
$.ajax({
type: "post",
url: actionLink,
cache: false,
data: ....someData....,
success: function(data) {
$(".response").fadeOut(100);
$(".response").html(data);
$(".response").fadeIn(500);
}
});
这是有效的,但首先显示数据,并闪烁 500 毫秒获取具有淡入淡出效果的数据,但我需要直接使用淡入淡出效果获取加载的数据。
我什至尝试过 淡出内容 A 的 div,并淡入内容 B 的同一 div,但我仍然遇到同样的问题。
我也尝试过:
$(".response").fadeOut(100).hide();
$(".response").show().html(data).fadeIn(500);
还是一样。我该如何解决这个问题?
I would like to do some effects like fadeIn
to page once I get the ajax response.
I tried this,
$.ajax({
type: "post",
url: actionLink,
cache: false,
data: ....someData....,
success: function(data) {
$(".response").fadeOut(100);
$(".response").html(data);
$(".response").fadeIn(500);
}
});
This is working but data is displayed first and with a flash of 500ms getting data with fade effect but I need to get the loaded data directly with fade effect.
I even tried with Fade out a div with content A, and Fade In the same div with content B, but I still get the same issue.
I also tried:
$(".response").fadeOut(100).hide();
$(".response").show().html(data).fadeIn(500);
Still the same. How do I fix this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
这东西起作用了......
This thing worked.........
你有没有尝试过:
Have you tried:
我发现的最简单的方法是将初始 fadeOut() 设置为“0”。这非常有效:
因为用实际值设置初始 fadeOut() 会使其“弹出”,然后淡入。仍然不是理想的结果。
因此,通过将初始 fadeOut 设置为 0,意味着它在淡入之前不会花费十分之一秒的时间淡出。因此,您不会得到奇怪的效果。
The easiest way I found was to set the initial fadeOut() to '0'. This worked perfectly:
As setting an initial fadeOut() with an actual value makes it 'pop' in, and then it fades in. Still not the desirable result.
So by setting the initial fadeOut to 0, means it doesn't spend a tenth of a second fading out before fading in. So you don't get a strange effect.
尝试
$(".response").fadeOut(100).delay(100).html(data).fadeIn(500)
这将强制执行后续操作(将 html 添加到您的 div ) 等待淡出完成后。
Try
$(".response").fadeOut(100).delay(100).html(data).fadeIn(500)
This will force the subsequent operations (the addition of the html to your div) to wait until after the fadeOut has completed.
概念是:一旦收到ajax响应,fadeIn消息 - 等待几秒钟(延迟) - fadeOut
像这样 - - -
$('div.errorul').fadeIn(600).html('msg').delay(1000).fadeOut(500);
Concept is: Once ajax response received, fadeIn the message - wait for some seconds (delay) - fadeOut
Like this ------
$('div.errorul').fadeIn(600).html( 'msg' ).delay(1000).fadeOut(500);