Javascript 使用css转换切换类
我用这个简单的js来切换一个类,如果这个div的滚动位置大于200。colorize类有一个转换:1s;属性,但效果仅在应用类时运行,而不是在移除状态下运行。我知道当js删除这个类时,就不再有转换了,所以我如何重构它,使其按我所希望的那样工作呢Javascript 使用css转换切换类,javascript,jquery,css,effect,Javascript,Jquery,Css,Effect,我用这个简单的js来切换一个类,如果这个div的滚动位置大于200。colorize类有一个转换:1s;属性,但效果仅在应用类时运行,而不是在移除状态下运行。我知道当js删除这个类时,就不再有转换了,所以我如何重构它,使其按我所希望的那样工作呢 $(".one").scroll(function() { let position = $(".one").scrollTop(); if (position > 200) { $(".two").toggleClass("col
$(".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;
}
您正在
.colorize
类中声明转换。当您从元素中删除该类时,当然元素将不再应用这些指令
为了始终保持图元上的转换,必须在始终应用的选择器中应用该转换
只需创建以下内容:
.two {
transition: 1s;
}
并且,将colorize
类更改为:
.colorize {
background-color: red;
}
您正在
.colorize
类中声明转换。当您从元素中删除该类时,当然元素将不再应用这些指令
为了始终保持图元上的转换,必须在始终应用的选择器中应用该转换
只需创建以下内容:
.two {
transition: 1s;
}
并且,将colorize
类更改为:
.colorize {
background-color: red;
}
如果成功的话,还可以添加到
.two
@temaniaf的转换!不过,我敢打赌有一种更优雅的方法可以做到这一点。更优雅的方法是从彩色化
中删除过渡,并将其仅保留在两个
;)@萨满的“优雅”方式?嗯,是的,在一直适用的选择器内设置应该一直有效的指令。同时添加到的转换。如果有效,两个@temaniaf!不过,我敢打赌有一种更优雅的方法可以做到这一点。更优雅的方法是从彩色化
中删除过渡,并将其仅保留在两个
;)@萨满的“优雅”方式?嗯,是的,在选择器中设置应该一直有效的指令,这些选择器一直适用。对!-谢谢你的澄清:)@saman别忘了标记为“答案”。对谢谢你的澄清:)@saman别忘了标记为“答案”。