gpt4 book ai didi

jquery - JavaScript for 循环增量不起作用

转载 作者:行者123 更新时间:2023-11-28 04:01:48 25 4
gpt4 key购买 nike

我正在尝试使用 this timeline但目前它根据日期差异计算导航“左”值。

我试图让左边的值增加 25,所以导航项的“左边”值将是 25、50、75...

这是我尝试过的,但它不起作用-

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

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

如何让左边的值增加 25 而不是计算当前日期差异?

最佳答案

问题是,您正在尝试访问 timelineComponents['timelineEvents'] 的第 i 个元素(通过使用 timelineComponents['timelineEvents'].eq(i))。正如您指定的那样,我在每个循环中增加 25,这意味着您将访问元素 0、元素 25、元素 50 等。我相信您要做的是访问每个元素,只需设置“左”属性增加 i(以 px 为单位?)

所以你的函数看起来像这样:

  function setDatePosition(timelineComponents, min) {
var position = 0;
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', position +'px');
position += 25;
}
}

如果需要每次增加25%,将position + 'px'部分改为position + '%'即可

关于jquery - JavaScript for 循环增量不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43168518/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com