Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
自动启动jQuery自定义队列_Jquery_Queue_Jquery Queue - Fatal编程技术网

自动启动jQuery自定义队列

自动启动jQuery自定义队列,jquery,queue,jquery-queue,Jquery,Queue,Jquery Queue,,如果正在排队的队列是fx,并且队列尚未进行,则调用dequeue。 默认队列足够智能,可以自动启动,这很好但是我如何为我的自定义队列复制相同的功能,在队列为空时自动启动? 我的问题是,我正在接收Pusher调用(到达页面的ajax调用),这些调用激活下面的代码,向#tickerlist添加新名称。问题是,要启动队列,我必须在队列外部添加.dequeue,这将强制tickerlistqueue启动队列中的下一个项目。当您同时接到几个推送呼叫时,这实际上会使队列变得无用——作业只是彼此重叠,因为这

如果正在排队的队列是fx,并且队列尚未进行,则调用dequeue。

默认队列足够智能,可以自动启动,这很好但是我如何为我的自定义队列复制相同的功能,在队列为空时自动启动?

我的问题是,我正在接收Pusher调用(到达页面的ajax调用),这些调用激活下面的代码,向
#tickerlist
添加新名称。问题是,要启动队列,我必须在队列外部添加
.dequeue
,这将强制
tickerlistqueue
启动队列中的下一个项目。当您同时接到几个推送呼叫时,这实际上会使队列变得无用——作业只是彼此重叠,因为这正是我告诉它要做的

基本上,我需要的是仅在队列为空时运行
.dequeue
行。否则,不要运行该行,队列将自行处理

var tickerlist = $('#ticker-list');

tickerlist.queue('tickerlistqueue', function(next) {
    var name = 'John';
    $(name).hide().prependTo('#ticker-list').slideDown(700, function () {
        $('#ticker-list>div:last').remove();
        next();
    })
});

tickerlist.dequeue('tickerlistqueue'); //This is the only way to start the queue

Duh;我的最后一段回答了我自己的问题

如果队列
长度
等于或小于1,则启动队列。否则,什么都不要做。它是1,而不是0,因为您是在对最新名称进行排队后调用它的

特别是我的例子:

if (tickerlist.queue('tickerlistqueue').length <= 1) {
    tickerlist.dequeue('tickerlistqueue');
}
if(tickerlist.queue('tickerlist.queue').length