如何使用 jQuery 对元素列表进行动画处理?

发布于 2024-12-20 00:30:14 字数 500 浏览 1 评论 0原文

我有一个我想要制作动画的汽车列表项目。

<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>

我假设我必须将它们存储在数组中然后循环它们?

我对 jQuery/JS 还很陌生,但我有点理解这些概念。我想为每辆车制作动画,以便一辆接一辆地出现。像这样的:

$('.car').fadeIn(1000, function(){
    $('.car').fadeOut(1000);
});

谢谢!

I have a list items of cars that I'd like to animate through.

<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>

I'm assuming I'd have to store them in an array and then loop through them?

I'm pretty new to jQuery/JS, but I sort of understand the concepts. I want to animate through each car so that one appears after another. Something like this:

$('.car').fadeIn(1000, function(){
    $('.car').fadeOut(1000);
});

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

分分钟 2024-12-27 00:30:14
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);
    });
});

如果您正在寻找幻灯片类型的交互,请查看:http://jquery.malsup.com/cycle/< /a>

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);
    });
});

If you are looking for a slideshow type of interaction check out: http://jquery.malsup.com/cycle/

长梦不多时 2024-12-27 00:30:14

尝试以下操作:

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();

这将淡出一辆车,然后淡出,一旦淡出,它将淡出下一辆车,再次继续循环到第一辆车。

Try the following:

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();

This will fadeIn a car, then fade it out, once it has faded out it will fadeIn the next car, continuing round to the first car again.

述情 2024-12-27 00:30:14

我认为你应该看看 jQuery Cycle。

http://jquery.malsup.com/cycle/

I think you should have a look at jQuery Cycle.

http://jquery.malsup.com/cycle/

森罗 2024-12-27 00:30:14

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

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

.each()

Using the each method will parse through each element in the jQuery collection one at a time instead of using implicit iteration. Like so:

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

.each()

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文