Tag: jquery callback

jQuery的$ .animate()多个元素,但只消防一次callback

如果您select一个类或元素的集合来使用jQuery进行animation处理: $('.myElems').animate({….}); 然后也使用callback函数,你最终会有很多不必要的animate()调用。 var i=1; $('.myElems').animate({width:'200px'}, 200, function(){ //do something else $('#someOtherElem').animate({opacity:'1'}, 300, function(){ if (i>1) console.log('the '+i+'-th waste of resources just finished wasting your resources'); i++; }); }); 可以说这只是不好的代码和/或devise – 但是有一些我可以做的事情,都避免了使用callback只有一个有很多animate()调用,并有一个不必要的callback负载执行和拧我的代码/预期的行为? 理想情况下,我只能编写一个只能运行一次的“一次性”callback – 否则可能有一种有效的方法来testing是否已经由jQueryanimation? 例如: http : //jsfiddle.net/uzSE6/ (警告 – 这将显示一个警报框的负载)。

我什么时候可以使用JQuery.Callbacks?

我正在寻找新的东西添加到jQuery 1.7,我看到他们现在有jQuery.Callbacks() http://api.jquery.com/jQuery.Callbacks/ 。 该文档向您展示了如何使用jQuery.callbacks(),但没有任何适用的例子,当我想要使用它们。 看来你可以添加/删除callback列表中的callback,你可以做jQuery.callbacks()。fire(args),但是这只是closures了列表中的所有callback。 也许我错过了一些东西,但这似乎并不是很有用。 在我看来,当我第一次看到这个新function的时候,我认为你可以通过键/值对来使用它。 然后,这将提供一个简单的方法来pipe理应用程序中的一个地方的callback函数。 就像是 $.callbacks.add("foo", myFunction); 然后例如,如果我想在我的函数结束时调用该callback函数,我可以做类似的事情 $.callbacks().fire("foo", args); 然而,它看起来并不像你可以触发特定的callback,你只能用给定的参数或者没有任何参数来触发它们。 我看到的最接近的东西是赋予.fire()函数上下文来设置“this”属性的能力 .fireWith(context, args) 但这也不是很有帮助。 我误解了文档吗? 如果这是所需的function,那么这是有用的一些适用的例子。