Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.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 如何在while循环中设置动画_Javascript_Jquery - Fatal编程技术网

Javascript 如何在while循环中设置动画

Javascript 如何在while循环中设置动画,javascript,jquery,Javascript,Jquery,我正在尝试使用while循环一个接一个地设置每个DIV的动画。但是 我面临着一个问题。while loop variable在警报框中生成序列号。但是当我在.eq()函数中使用while loop increment variable时,它不能作为increment animate Div逐个工作 …吉图 $(文档).ready(函数(){ 函数BoxAnimate(){ var计数=1; 而(计数

我正在尝试使用while循环一个接一个地设置每个DIV的动画。但是 我面临着一个问题。while loop variable在警报框中生成序列号。但是当我在.eq()函数中使用while loop increment variable时,它不能作为increment animate Div逐个工作

…吉图

$(文档).ready(函数(){
函数BoxAnimate(){
var计数=1;
而(计数<9){
//警报(计数);
$(“.animation”).eq(计数)。设置动画({
左:“500px”
});
计数++;
}
}
BoxAnimate();
});
.animation{背景:红色;
边缘底部:10px;
左边距:30px;
高度:150像素;
宽度:150px;
字体系列:Arial;
字体大小:30px;
文本对齐:居中;
颜色:#fff;
线高:150px;
位置:相对位置;
明确:两者皆有;
}

1.
2.
3.
4.
5.
6.
7.
8.
试试这个(这里也做了一把小提琴):

$(文档).ready(函数(){
函数BoxAnimate(){
var计数=0;
而(计数<9){
//警报(计数);
$(“.animation”).eq(count).停止(true,true).延迟(1000*count).设置动画({
左:“500px”
});
计数++;
}
}
BoxAnimate();
});
.animation{背景:红色;
边缘底部:10px;
左边距:30px;
高度:150像素;
宽度:150px;
字体系列:Arial;
字体大小:30px;
文本对齐:居中;
颜色:#fff;
线高:150px;
位置:相对位置;
明确:两者皆有;
}

1.
2.
3.
4.
5.
6.
7.
8.

eq()
在jquery中是基于0的更改
var count=1
var计数=0

除非有您没有提到的内容,否则根本不需要使用while循环。由于每个框都有相同的类,jQuery将同时以所有框为目标:

$(文档).ready(函数(){
函数BoxAnimate(){
$(“.animation”).animate({
左:“500px”
});
}
BoxAnimate();
});
.animation{背景:红色;
边缘底部:10px;
左边距:30px;
高度:150像素;
宽度:150px;
字体系列:Arial;
字体大小:30px;
文本对齐:居中;
颜色:#fff;
线高:150px;
位置:相对位置;
明确:两者皆有;
}

1.
2.
3.
4.
5.
6.
7.
8.

更好、更干净的方法是使用while循环,而不是while循环

$(文档).ready(函数(){
$(“.animation”).each(函数(){
$(此)。设置动画({
左:“500px”
});
});
});
.animation{背景:红色;
边缘底部:10px;
左边距:30px;
高度:150像素;
宽度:150px;
字体系列:Arial;
字体大小:30px;
文本对齐:居中;
颜色:#fff;
线高:150px;
位置:相对位置;
明确:两者皆有;
}

1.
2.
3.
4.
5.
6.
7.
8.

div中的1没有设置动画。这就是你面临的问题吗?最好尝试使用0初始化计数器。您不需要为此使用任何类型的循环-请参阅我的答案!)这个是完美的。。!但是你能给我解释一下这个代码吗(.stop(true,true)。delay(1000*count))。扩展我的知识@吉图贾贾贾贾吉达尔,我已经对我的答案做了解释。但它并没有一个接一个地移动。同时选择所有“动画”div