我有一个if else语句,我想知道是否可以将其更改为for循环或类似内容。

if (lastScroll >= 0 && lastScroll < 40) {
    pos = 0;
} else if (lastScroll >= 40 && lastScroll < 80) {
    pos = 1;
} else if (lastScroll >= 80 && lastScroll < 120) {
    pos = 2;
} else if (lastScroll >= 120 && lastScroll < 160) {
    pos = 3;
} else if (lastScroll >= 160 && lastScroll < 200) {
    pos = 4;
} else if (lastScroll > 200) {
    pos = 5;
}


我想更改此位置,因为可能会有超过100个职位。我正在考虑创建这样的for循环:

var i = 0;
greater = 0;
less = 40;
for (i = 0; i < 100; i++) {
    if (lastScroll >= greater && lastScroll < less) {
        pos = i;
        greater += 40;
        less += 40;
    }

}


if else语句运行完美,但我不想创建100个if else语句。它包装在滚动功能中。

最佳答案

因为它是线性的,所以可以使用除法和舍入

pos = Math.floor(lastScroll / 40);
if (pos > 5) pos = 5;

关于javascript - 一个和else语句一样的for循环吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31322736/

10-13 03:22