场景:
用户点击某个按钮,js会通过ajax请求数据出来,在这个过程中,一般良好的用户体验是会出现一个【加载中】的文字或图片的提示,等待数据请求过来再隐藏提示,展示数据。
但,如果用户的网络环境或者后台服务器网络不差,这个【加载中】的提示刚弹出来,数据就请求完成了,这样的话页面就会~闪~一下,用户体验反而不那么友好了。
如果如果取消这个提示,二遇到用户的网络环境或者后台服务器网络不好的情况,页面空白一半天才出来数据,这个过程会让用户觉得页面没有处理请求,这样的体验也不好。
so,怎么破?
场景:
用户点击某个按钮,js会通过ajax请求数据出来,在这个过程中,一般良好的用户体验是会出现一个【加载中】的文字或图片的提示,等待数据请求过来再隐藏提示,展示数据。
但,如果用户的网络环境或者后台服务器网络不差,这个【加载中】的提示刚弹出来,数据就请求完成了,这样的话页面就会~闪~一下,用户体验反而不那么友好了。
如果如果取消这个提示,二遇到用户的网络环境或者后台服务器网络不好的情况,页面空白一半天才出来数据,这个过程会让用户觉得页面没有处理请求,这样的体验也不好。
so,怎么破?
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答5.2k 阅读✓ 已解决
1 回答3.4k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
设定一个“加载中”持续时间的最小值。
首先,根据经验得到一个不会出现“闪一下”的现象的最小值,例如500ms,记为
Tmin
。然后,在收到响应数据后,计算一下本次请求用的时间
t
。如果t >= Tmin
,则隐藏/关闭“加载中”;否则,过Tmin - t
时间后再隐藏/关闭。