2012-07-26 17 views
0

我想要一个按钮在AJAX调用之前短暂闪烁(以及其他一些动画发生)。 ajax调用发生得非常快,所以我不想使用AJAX的before函数。在任何其他动画之前,眨眼必须明确。我觉得如果有这样做更漂亮的方式:更好的方式来闪烁按钮jQuery?

 //This is inside of a button click event 
     $(this).addClass('active').delay(250).queue(function (e) { 
      $(this).removeClass('active').delay(250).queue(function (f) { 
       alert(33); 
       $child.css('margin-left', $(window).width() + 10 + 'px'); 
       $child.load(url + 'API CALL' + $(this).data("id"), bindAClicks); 
      }); 
     }); 

bindAClicks - 的动画以保证金:0。

$ child是一个容器div。

active是一个黑色背景的类。

什么奇怪的是,警报甚至不是射击。

+0

如果你指的是beforeSend,我会推荐检查这个答案,它显示了如何等待你的动画完成之前。 http://stackoverflow.com/questions/5212949/jquery-ajax-wait-until-beforesend-animation-finishes – JasCav 2012-07-26 16:29:43

+0

谢谢。这个AJAX只是一个例子。我的非ajax按钮也需要相同的功能。如果你把这个问题作为答案,我会给你代表 – user974896 2012-07-26 16:49:31

+0

为什么要“事先”? AJAX是异步的,启动请求并在等待响应时闪烁按钮。 – 2012-07-26 17:10:04

回答

0

如果您指的是beforeSend,我会推荐检查this answer,它显示了如何等待您的动画完成。

为了回应奥列格的评论,我不确定你说什么问题,当你说响应如此之快,你看不到眨眼。我创建了一个quick example来演示它如何工作(这样您就可以进行Ajax调用并仍然执行闪烁)。希望这有助于。