我有两个元素在滚动时执行简单的介绍动画。我想在回去时扭转过渡速度。
这两种方法都有效,但网站有点滞后,所以我想知道哪一种更适合性能。在这样的javascript中完成..
function startAnimation(){
elem1.classList.add('transformClass');
elem2.classList.add('transformClass');
elem1.style.transition = 'transform 0.6s';
elem2.style.transition = 'transform 1.4s';
}
function exitAnimation(){
elem1.classList.remove('transformClass');
elem2.classList.remove('transformClass');
elem1.style.transition = 'transform 1.4s'; //elem1 is now 1.4s instead of 0.6s
elem2.style.transition = 'transform 0.6s';
}
或者将转换合并到添加的类并使用!important
会更好function startAnimation(){
elem1.classList.add('transformClass1');
elem2.classList.add('transformClass2');
}
function exitAnimation(){
elem1.classList.remove('transformClass1');
elem2.classList.remove('transformClass2');
}
//CSS:
#elem1 {
transition: transform 0.6s
}
#elem2 {
transition: transform 1.4s
}
.transformClass1 {
transition: transform 1.4s !important;
}
.transformClass2 {
transition: transform 0.6s !important;
}
答案 0 :(得分:2)
我已经完成了这项测试的一些条件。
<style></style>
标记用HTML,因此它可能与添加外部不同CSS文件。<style></style>
放在HTML中,这意味着,只能由JavaScript组成的代码与JavaScript和CSS组成的代码一起运行,因为正如我提到<style>
标签,它会影响两者。所以我必须单独运行它们。
这是我制作的HTML:
<div id="elem1"></div>
<div id="elem2"></div>
<div class="transformClass1"></div>
<div class="transformClass2"></div>
格雷 - 只有JavaScript
绿色 - JavaScript + CSS
越低越好
※网站我已经使用过 - http://jindo.dev.naver.com/jsMatch
来自韩国的Naver制作