想请教大家平时页面翻页的时候是怎么处理ajax去拉取数据的这段时间的加载呢?是怎么提示用户正在加载数据呢?
目前我有两种思路,但是我都觉得不是很完美:
1.发送ajax的时候出现加载图标,ajax返回之加载图标消失,缺点就是有时候ajax太快导致加载的提示图标一闪而过,体验很不好。
2.超过一定时间后出现加载图标。ajax返回之后加载图标消失。好处就是避免了图标一闪而过的情况,缺点还是很难把握超过多少时间显示加载图标,假设我延迟300毫秒提示,但是ajax 400好眠就返回了,还是会产生一闪而过的情况。
我是这么想的,比如一个list页面,你要翻页到第二页面去,是本页面交互,需要考虑到2点:
1.必须要一个反馈效果,也就是loading效果,表示我响应你的动作了,因为存在弱网络的情况,谁也无法保证能过100或者200ms就能返回数据。
2.不能影响用户的连续操作。就是说我反对,直接一个大大的loading弹层出来,遮住页面,啥事干不了。
所以我给你的建议是: 在页面给一个交互loading效果,但不影响用户操作,他还可以点击list的item来进行跳转或者其他操作之类的。
你说的一闪而过的效果,我觉得这么处理好点--- 就是有一个默认的动画最短时间(这个根据你的loading效果来设置)。
比如:发送ajax时候loading,并且记录一个当前的毫秒值,返回之后,用time判断下时间差,如果时间差小于默认时间值,继续执行动画要最小值为止,如果大于就隐藏。