我看到.filter()
和.end()
调用链中,这导致我相信这是可能的。所以,我做了我自己的功能,可以添加到链rawr()
jQuery/Javascript - 是否有可能在链中获得下一个电话
$('#object').fadeIn().rawr().delay(1000).fadeOut();
我想RAWR(),看看接下来要做什么了,并取决于它是什么,允许继续执行或结束链并移到下一行代码。这是如何完成的?
我看到.filter()
和.end()
调用链中,这导致我相信这是可能的。所以,我做了我自己的功能,可以添加到链rawr()
jQuery/Javascript - 是否有可能在链中获得下一个电话
$('#object').fadeIn().rawr().delay(1000).fadeOut();
我想RAWR(),看看接下来要做什么了,并取决于它是什么,允许继续执行或结束链并移到下一行代码。这是如何完成的?
您不能直接在调用函数的链中获取下一个jQuery函数,而无需解析JavaScript源本身。
鉴于您的评论:
我想没有与动画这只是交易。
您会想要使用queue
方法在fx
队列中存储函数。执行自定义函数时,fx
队列将排队jQuery链中的所有动画。
在您的自定义功能中,您将能够访问fx
队列并检查排队的内容。您还可以在出队fx
队列之前调用clearQueue
删除任何排队函数。
由于fx
队列不会继续执行任何其他排队函数,所以有必要将自定义排队函数出队,直到当前正在执行的函数指示它已完成为止。
所有人都说,这听起来像你应该打破你的链条件并执行方法,而不是尝试链接后来简单清除的动画。
有条件地结束链条是可能的,看看here。
$.fn.if = function(flag) {
return (flag) ? this.pushStack(this) : this.pushStack([]);
};
然而,看在目前的链条项目是不可能的。
这不是如何.filter
和.end
工作。右从the documentation:
当这种情况发生,这是因为如果新组元件被压入 被保持在对象内部的叠层。每个连续的过滤方法将一个新的元素集推入堆栈。如果我们需要 旧的元素集,我们可以使用end()从 堆栈弹出集。
如果我明白你的问题,你需要操纵队列:http://api.jquery.com/queue/ –
@dystroy - 我想没有这个只与动画交易。所以如果我连接任何函数调用,我怎么能看到下一个? – Aust
不可能在javascript – Austin