Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.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_Css_Animation - Fatal编程技术网

Javascript JQuery设置更多元素的动画

Javascript JQuery设置更多元素的动画,javascript,jquery,css,animation,Javascript,Jquery,Css,Animation,我正在尝试设置一个应用程序,我需要一次设置多个项目的动画 function getData() { for(i=0, i<data.length, i++) { ... animate(ID, top, left); } } function animate (ID, top, left) { $("#" + ID).animate({top: top, left: left}, {duration: 1000, queue: false

我正在尝试设置一个应用程序,我需要一次设置多个项目的动画

function getData() {
    for(i=0, i<data.length, i++) {
       ...
       animate(ID, top, left);
   }
}

function animate (ID, top, left) {
    $("#" + ID).animate({top: top, left: left}, {duration: 1000, queue: false});
}

这样做的目的是,它通过AJAX从服务器获取数据,获取ID、顶部和左侧位置。我有带这些ID的div,我需要将它们设置为左坐标和上坐标中给定的位置。问题是,当我调用该函数时,除了最后一个元素外,所有元素都会跳到给定的位置,而最后一个元素会按它应该的方式进行动画。哪里可能有问题?

您可以使用JQuery multiselection:

$("#element0, #element1").fadeIn()
就你而言:

function getData() {
    var ids = ""
    for(i = 0; i < data.length; i++) {
       // retrieve 'id', top and left
       ids += "#" + id
       if (i < data.length - 1) {
          ids += ","
       }
    }
    animate(ids, top, left);
}

function animate (ids, top, left) {
    $(ids).animate({top: top, left: left}, {duration: 1000, queue: false});
}

这将同时为“id”选择的所有元素设置动画。

您能否在中设置一个示例演示项目,因为I。@ViktorBahtev StackOverflow允许。不再需要JSFIDLE了。我尝试设置JSFIDLE,但在那里它可以正常工作。。我在线上有,所有的光标都应该同时动画到它们的新位置,但只有一个动画。好吧,我想,我发现了问题-为什么要添加具有相同Id的元素?只需删除这一行document.getElementByIdpositionFrameWrap.innerHTML=document.getElementByIdpositionFrameWrap.innerHTML+;您的代码工作正常-尝试将$element0element1.fadeIn更改为$element0,element1.fadeIn;。在这种情况下,必须用逗号分隔每个id,这样,多重选择必须正常工作。@DannyFardyJhonstonBermúdez谢谢,我错过了逗号!