JS 循环将每个值递增 2
JS loop increment each value by 2
有没有办法每次将循环的每个结果递增2?所以它应该将值增加 2,然后 4,然后 6...
所以如果第一个结果是2,应该是2*2=4
但是第二个结果应该增加4:2*4=8
这是循环:
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');
}
}
目前,第一个结果是left:120px,第二个结果是left:180px。
我想达到:
第一个结果 + 20px: 140px
第二个结果 + 40px: 220px
第三个结果+60px...以此类推
我相信你的 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;
}
}
您可以在每次迭代时将 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');
}
}
有没有办法每次将循环的每个结果递增2?所以它应该将值增加 2,然后 4,然后 6...
所以如果第一个结果是2,应该是2*2=4
但是第二个结果应该增加4:2*4=8
这是循环:
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');
}
}
目前,第一个结果是left:120px,第二个结果是left:180px。
我想达到: 第一个结果 + 20px: 140px
第二个结果 + 40px: 220px
第三个结果+60px...以此类推
我相信你的 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;
}
}
您可以在每次迭代时将 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');
}
}