Jquery each()函数递增一半

时间:2016-05-01 05:26:21

标签: jquery

我正在尝试使用jquery 0.5函数在每次迭代后添加each()增量。我必须在animatoin-delay上添加li属性,该值应增加(0.5),我可以在文档加载时为其设置动画。

HTML

<ul class="social-link">
        <li></li>
        <li></li>
        <li></li>
        <li></li>
</ul>

JS

$('ul.social-link li').each(function(i){
        plus =  i - 0.5;
        $(this).addClass('animated fadeIn').css('animation-delay',plus+'s');
});

我已经尝试了上面的代码,但它在第一次迭代后工作,在第一次迭代时它给定0.5但在此之后它添加(1.5,2.5,3.5)1而不是0.5。我知道我的逻辑不正确。任何人都可以指导我使用each()函数可能与否。我可以使用css来完成它,但如果使用jquery完成它会很好。如果有人指导我,我将不胜感激。谢谢

3 个答案:

答案 0 :(得分:3)

在您的代码中,i是您的选择器返回的集合的索引。所以,1-0.5,2-0.5,3-0.5等。如果我正确理解你,你想每次都添加.05,所以在.each()之外声明加号如此:{{1并在循环内增加它:var plus = 0;。它会像这样增加:.5,1,1.5,2,2.5等。

答案 1 :(得分:2)

试试这个

var plus = 0;
$('ul.social-link li').each(function(i) {
  plus += 0.5;
  $(this).addClass('animated fadeIn').css('animation-delay', plus + 's');
});

答案 2 :(得分:0)

你可以通过乘法来做到这一点:

$('ul.social-link li').each(function(i){
    $(this).addClass('animated fadeIn').css('animation-delay',0.5 + i*0.5 + 's');
});