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谢谢,我错过了逗号!