首页 新闻 会员 周边

Ajax请求加载loading图片的时机问题

0
悬赏园豆:30 [已解决问题] 解决于 2012-03-06 15:51

请问一个发送Ajax请求的简单问题,不知道大家是怎么处理的:
我要实现在发送请求之前显示一个loading图片,表示正在执行。
但是有时这个请求速度很快,很快就完成了,导致loading图片一闪而过。
有没有方法来实现【如果请求时间大于2秒时则启动loading画面】
或者【总是显示loading图片2秒再去执行请求】

Zigzag的主页 Zigzag | 初学一级 | 园豆:70
提问于:2012-02-22 09:47
< >
分享
最佳答案
0

我觉得你不应该去等待2秒再执行请求,这样用户白等了2秒,并且在发送请求前也不好计算请求大于2秒。

你应该是发送请求的时候显示loading图片,然后开始请求,请求结束的时候计算请求有没有2秒,如果没有的话就等待一会再隐藏loading图片。

收获园豆:20
LCM | 大侠五级 |园豆:6876 | 2012-02-22 09:56

谢谢,我觉得你这个方法是可行的,为了实现一个小需求,需要一个计时器,要是jquery内置该多好。

Zigzag | 园豆:70 (初学一级) | 2012-02-22 16:46

@Zigzag: 是的。要是内置就方便了。不过好像目前jquery还没提供统计ajax调用后台方法时间的功能。

LCM | 园豆:6876 (大侠五级) | 2012-02-22 16:53
其他回答(3)
0

这个我觉得没必要吧

如果非要这样做可以用setTimeout方法:

function ajaxMethod(){
//ajax method
}

function subimt(){
setTimeout("ajaxMethod()",2000);
}
收获园豆:10
artwl | 园豆:16736 (专家六级) | 2012-02-22 09:55
0

方法不错,推荐了。。。

KivenRo | 园豆:1734 (小虾三级) | 2012-02-23 12:56
0

这问题一看就是新手的节奏 ,使用loading图片不是为了使用loading图片而使用,

    而是为了在网速加载慢的时候给用户一个友好的体验,而不是为了追求效果,用户的使用体验才是最重要的。

   相信过这么久了楼主应该也明白这个真正的意义了, 回答这个是希望能给后来者一些提示。

      如果楼主现在还没明白这些的话,就不说什么了。。。。。

走路没声 | 园豆:87 (初学一级) | 2013-10-16 15:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册