具有css转换的ToggleClass

时间:2018-02-20 20:38:59

标签: javascript jquery css effect

如果该div的滚动位置大于200,我有这个简单的js来切换一个类.colignize类有一个转换:1s;属性,但效果仅在应用类时运行,而不是在删除状态。据我所知,当js删除该类时,不再有转换,所以如何重构它以便按我的意愿工作?

$(".one").scroll(function() {
  let position = $(".one").scrollTop();
  if (position > 200) {
    $(".two").toggleClass("colorize", true);
  } else {
    $(".two").toggleClass("colorize", false);
  }
});

.colorize {
   background-color: red;
   transition: 1s;
}

1 个答案:

答案 0 :(得分:2)

您正在宣布.colorize班级的过渡。当您从元素中删除该类时,该元素当然将不再应用这些指令。

为了始终保持元素的转换,您必须在始终适用的选择器中应用它。

只需创建:

.two {
   transition: 1s;
}

并且,将您的colorize课程更改为:

.colorize {
   background-color: red;
}