优化JavaScript条件类更改

时间:2013-12-31 06:39:18

标签: javascript optimization if-statement conditional

是否有更有效的方式来编写以下内容,可能会结合条件?这是一个滚动事件,所以我试图最小化我的足迹和操作。

谢谢!

JavaScript的:

if ($win.scrollY >= asideOffsetTopBuffered) {

  aside.classList.add('stuck');
} else {

  aside.classList.remove('stuck');
}

if ($win.scrollY >= articleOffsetBottomBuffered) {

  aside.classList.add('bottom');
} else {

  aside.classList.remove('bottom');
}

1 个答案:

答案 0 :(得分:0)

将条件设置如下似乎更符合逻辑:

if ($win.scrollY >= asideOffsetTopBuffered) {
    aside.classList.add('stuck');

    //can occur only when the outer condition is met
    if ($win.scrollY >= articleOffsetBottomBuffered) {
        aside.classList.add('bottom');
    } else {
        aside.classList.remove('bottom');
    }
} else {
    aside.classList.remove('stuck');
}

但我怀疑它会给你带来任何显着的性能提升。