Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.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_Animation_Loops_Chaining - Fatal编程技术网

如何使用jQuery在元素列表中设置动画?

如何使用jQuery在元素列表中设置动画?,jquery,animation,loops,chaining,Jquery,Animation,Loops,Chaining,我有一个列表项目的汽车,我想通过动画 <li id="toyota"> <img class="car" src="img/toyota.png"> </li> <li id="honda"> <img class="car" src="img/honda.png"> </li> <li id="ford"> <img class="car" src="img/ford.png"&g

我有一个列表项目的汽车,我想通过动画

<li id="toyota">
    <img class="car" src="img/toyota.png">
</li>
<li id="honda">
    <img class="car" src="img/honda.png">
</li>
<li id="ford">
    <img class="car" src="img/ford.png">
</li>
谢谢

var delay = 100;
// iterate through each li element and run a method
$('li').each(function (index, el) {
    $(el).delay(delay * index).fadeIn(1000, function (){
        $(this).fadeOut(1000);
    });
});
如果您正在寻找幻灯片类型的交互,请签出:


如果您正在寻找一种幻灯片式的交互方式,请查看:

我认为您应该看看jQuery Cycle


我认为您应该看看jQuery循环


使用each方法将逐个解析jQuery集合中的每个元素,而不是使用隐式迭代。像这样:

$(".car").each(function() {
    $(this).fadeOut(1000);
});

使用each方法将逐个解析jQuery集合中的每个元素,而不是使用隐式迭代。像这样:

$(".car").each(function() {
    $(this).fadeOut(1000);
});

尝试以下操作:

var cars = $('.car');
var index = 0;
var loop = function() {
  var car = $(cars[index]);
  car.fadeIn(1000, function() {
    car.fadeOut(1000, function() {
      index = index + 1 < cars.length ? index + 1 : 0;
      loop();
    });
  });
};
loop();
var cars=$('.car');
var指数=0;
var循环=函数(){
var car=$(cars[指数]);
car.fadeIn(1000,函数(){
汽车衰减(1000,功能(){
指数=指数+1
这将淡入一辆车,然后淡出,一旦淡出,它将淡入下一辆车,再次转到第一辆车。

尝试以下操作:

var cars = $('.car');
var index = 0;
var loop = function() {
  var car = $(cars[index]);
  car.fadeIn(1000, function() {
    car.fadeOut(1000, function() {
      index = index + 1 < cars.length ? index + 1 : 0;
      loop();
    });
  });
};
loop();
var cars=$('.car');
var指数=0;
var循环=函数(){
var car=$(cars[指数]);
car.fadeIn(1000,函数(){
汽车衰减(1000,功能(){
指数=指数+1

这将淡出一辆车,然后淡出,一旦淡出,它将淡入下一辆车,再次进入第一辆车。

酷,谢谢,我现在需要淡出这个元素,然后一直移动到下一辆车。你知道我怎么做吗?在第一个元素中淡入淡出后,它停止。
fadeIn
为回调提供了一个辅助参数,正如您在问题中所做的那样。把淡出呼叫扔进去。查看我的编辑。很酷,谢谢,我现在需要淡出这个元素,然后一直移动到下一个元素。你知道我怎么做吗?在第一个元素中淡入淡出后,它停止。
fadeIn
为回调提供了一个辅助参数,正如您在问题中所做的那样。把淡出呼叫扔进去。看我的编辑。是的,我想这是解决办法,我只是想知道如何去下一辆车。它在第一辆车熄火后停止。有办法介绍第二辆车吗?一直到最后。我需要为此创建一个数组吗?是的,我想这就是解决方案,我只是想知道如何去下一辆车。它在第一辆车熄火后停止。有办法介绍第二辆车吗?一直到最后。我需要为此创建一个数组吗?看起来它几乎做到了。不过它只是在第一辆车上循环:(@hawsome,你确定你复制的正确吗?请参阅jsFiddle,上面的代码运行得很好!它运行得很好,对不起!我只是使用了一个幻灯片插件,它会干扰其他列表项的不透明度和显示,所以它只显示了第一张幻灯片:(非常感谢您的帮助!还有,它处于无限循环中有什么原因吗?我希望它在到达最后一张幻灯片后会停止。有没有办法在最后一张幻灯片动画完成后进行回调?这样我可以在本简介运行完后运行幻灯片放映插件。谢谢!@hawsome once
index+1==cars.length
所有车辆都已循环通过-此时,您可以发起一个活动或调用幻灯片放映插件这似乎几乎成功了。但它只是循环通过第一辆车:(@hawsome,你确定你复制的正确吗?请参阅JSFIDLE,上面的代码工作得很好!它工作得很好,对不起!我只是使用了一个幻灯片插件,它会影响其他列表项的不透明度和显示,所以它只显示了第一张幻灯片:(非常感谢您的帮助!还有,它处于无限循环中有什么原因吗?我希望它在到达最后一张幻灯片后会停止。有没有办法在最后一张幻灯片动画完成后进行回调?这样我可以在本简介运行完后运行幻灯片放映插件。谢谢!@hawsome once
index+1==cars.length
所有的汽车都已循环通过-你可以提出一个事件或调用幻灯片插件在这一点上