JS循环将每个值递增2

时间:2018-03-22 11:52:52

标签: javascript loops operators

有没有办法每次将每个循环结果递增2?所以它应该将值增加2,然后是4,然后是6 ......

因此,如果第一个结果是2,那么它应该是Measurement<Unit> 但第二个结果应该增加4:2*2=4

这是循环:

2*4=8

目前,第一个结果是:120px,第二个结果是:180px。

我想实现: 第一个结果+ 20px:140px

第二个结果+ 40px:220px

第三个结果+ 60px ......等等

2 个答案:

答案 0 :(得分:1)

您可以在每次迭代时将distanceNorm乘以i+1

function setDatePosition(timelineComponents, min) {
    for (i = 0; i < timelineComponents['timelineDates'].length; i++) { 
        var distance = daydiff(timelineComponents['timelineDates'][0], timelineComponents['timelineDates'][i]),
            distanceNorm = Math.round(distance/timelineComponents['eventsMinLapse']) + 2;
        timelineComponents['timelineEvents'].eq(i).css('left', (distanceNorm*min*i+1)+'px');
    }
}

答案 1 :(得分:0)

我相信你的20px来自min? 如果是这种情况,您只需在每次迭代后增加min。 min += 20;

function setDatePosition(timelineComponents, min) {
    for (i = 0; i < timelineComponents['timelineDates'].length; i++) { 
        var distance = daydiff(timelineComponents['timelineDates'][0], timelineComponents['timelineDates'][i]),
            distanceNorm = Math.round(distance/timelineComponents['eventsMinLapse']) + 2;
        timelineComponents['timelineEvents'].eq(i).css('left', (distanceNorm*min)+'px');
        min += 20;
    }
}