Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.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
Javascript 在jquery中使用自定义动画队列_Javascript_Jquery_Syntax - Fatal编程技术网

Javascript 在jquery中使用自定义动画队列

Javascript 在jquery中使用自定义动画队列,javascript,jquery,syntax,Javascript,Jquery,Syntax,我想在同一个元素上运行两个不同的动画队列,因为它们可以单独修改 我对第一个使用标准的fx队列,所以我决定对第二个使用自定义队列,但动画不会启动 jQuery文档说它至少需要jQuery 1.7,并且需要手动调用.dequeue(),如果是自定义队列,这一点没问题 下面是我的代码: var css = { 'margin-top' : '50px', 'margin-left' : '50px' } $("#myDiv").stop("customQueue").animate(

我想在同一个元素上运行两个不同的动画队列,因为它们可以单独修改

我对第一个使用标准的fx队列,所以我决定对第二个使用自定义队列,但动画不会启动

jQuery文档说它至少需要jQuery 1.7,并且需要手动调用
.dequeue()
,如果是自定义队列,这一点没问题

下面是我的代码:

var css = {
    'margin-top' : '50px',
    'margin-left' : '50px'
}

$("#myDiv").stop("customQueue").animate(css, {
    duration: 400,
    queue: "customQueue"
}).dequeue("customQueue");
这完全没有什么作用(也没有js错误)

虽然这很好(但没有动画)

有人知道我做错了什么吗

编辑:我在这里尝试的是使用
jQuery.animate()
函数的
queue
选项,如中所述,而不是
jQuery.queue()
函数

编辑2:修改@Balint的语法

var css = {
    'margin-top' : "50px",
    'margin-left' : "50px"
}

$("#myDiv").stop("customQueue").animate(css, {
    duration: 400,
    queue: "customQueue"
}).dequeue("customQueue");

好的,我发现了问题:

我说过我使用标准的fx队列来实现其他效果,但当我用
$.stop()
中断它时,它会停止每个队列,而不仅仅是fx

因此,如果您像我一样使用标准队列和自定义队列,请使用
stop(“fx”)
停止标准队列,而不仅仅是
stop()


谢谢大家的帮助。

不,在我的代码中,我使用了一个变量来存储元素名,为了简单起见,我在这里写了“myDiv”。我在第二段代码中也使用了同样的方法,效果很好。谢谢你的快速回答:)我也改变了css对象。。。您必须将50px放入
,同时检查小提琴并感到惊讶:)哦,是的,但它也是一个输入错误,因为我也存储在变量中,所以如果您查看JSFIDLE链接,它仍然有效……因此可能会留下两件事:JS代码的错误位置(在DOM加载之前运行)或者不包括jQuery。有任何错误消息吗?我没有收到错误消息,包括jQuery并加载DOM,因为我的第二个示例运行良好,并且它放在我的项目中的同一位置。这不是首选语法,但它是完全可以接受的语法。它可以工作。
var css = {
    'margin-top' : "50px",
    'margin-left' : "50px"
}

$("#myDiv").stop("customQueue").animate(css, {
    duration: 400,
    queue: "customQueue"
}).dequeue("customQueue");