2010-10-14 73 views
4

我有一个页面,有很多Ajax操作正在发生。我显示一个微调表明请求正在处理中。仅在50ms后才显示微调

其中一些请求很长时间,其中一些请求很快。当反应迅速时,那些纺纱者比援助更麻烦。

这就是我想要的。只有在提交请求后超过50ms才显示微调器。

这意味着请求开始时,微调器开始计时。如果在50ms之前有响应,那么响应会让微调员隐藏起来。

但是如果响应不在50ms内,则显示微调。

有没有插件可以帮助我开始。

谢谢

+0

HTTP://api.jquery .com /延迟/ – bzlm 2010-10-14 16:12:40

+0

延迟是完美的。不知道这一点。 – 2010-10-14 16:17:45

+0

@ user253470 delay()适用于某些场景。并非全部。不知道这是你需要的。 – bzlm 2010-10-14 20:34:06

回答

10

这可以很容易地使用香草JavaScript来完成。无需插件。

50ms的后显示的微调:

var t = setTimeout("showSpinner()", 50); 

然后取消超时如果调用50毫秒之前成功(Ajax回调中):

clearTimeout(t); 
+0

我猜OP正在寻找一个插件 – 2010-10-14 16:13:38

+0

@Avniash - 当他需要两行JavaScript的时候,为什么要提供一个插件?我的猜测是OP没有意识到使用Vanilla JavaScript可以轻松实现。 – 2010-10-14 16:15:02

+0

Yeap。无需插件,如果它可以通过几行解决:-) – 2010-10-14 16:16:25