ScrollTrigger是一款高性能页面滚动触发HTML元素动画JS插件。该插件根据页面滚动的位置来对页面中的元素执行动画,插件中使用requestAnimationFrame,对用户的滚动不会产生额外的影响。
使用方法
在页面中引入ScrollTrigger.min.js文件。
<script src="path/to/ScrollTrigger.min.js"></script>
初始化插件
在页面加载完毕之后,可以通过ScrollTrigger.init()方法来初始化该插件。
<script>
document.addEventListener('DOMContentLoaded', function(){
ScrollTrigger.init();
});
</script>
初始化方法调用2个参数:bindTo和scrollIn,它们都是可选参数。
bindTo参数是动画HTML元素的容器,通常是document.body。
scrollIn参数是从中获取滚动位置的元素,通常是window。
HTML结构
接下来你需要在HTML元素上添加data-scroll属性。
<div data-scroll></div>
如果你想在元素进入视口时变为可见,离开视口时隐藏,可以在进入视口是为元素添加visible class类,在离开视口时添加invisible class类,然后在你的CSS文件中定义这两个class类的动画效果。
.invisible {
transition: opacity 0.5s ease;
opacity: 0.0;
}
.visible {
transition: opacity 0.5s ease;
opacity: 1.0;
}
这样,一个简单的进入视口时元素淡入效果,离开视口时元素淡出效果的动画就完成了。
配置参数
data-scroll属性可以设置以下以下配置参数。
| 参数 | 类型 | 描述 | 示例代码 |
| toggle() | CSS Classes | 一对用于在滚动时切换的class类,例如visible和invisible。 |
data-scroll="toggle(.animateIn, .animateOut)"也可以不带 .号,data-scroll="toggle(animateIn, animateOut)"
|
| offset() | Pixels | 添加到元素上的偏移值。接收X和Y两个数作为参数。 |
data-scroll="offset(0,50px)"表示Y轴50像素的偏移。px单位可以不写:data-scroll="offset(-50,0)"
|
| addWidth | Boolean | 是否添加元素的偏移宽度,使元素完全可见时才添加相应的class类。 | data-scroll="addWidth" |
| addHeight | Boolean | 是否添加元素的偏移高度,使元素完全可见时才添加相应的class类。 | data-scroll="addHeight" |
| centerHorizontal | Boolean | 是否添加元素的一半偏移宽度,使元素在一半可见时就添加相应的class类。 | data-scroll="centerHorizontal" |
| centerVertical | Boolean | 是否添加元素的一半偏移高度,使元素在一半可见时就添加相应的class类。 | data-scroll="centerVertical" |
| once | Boolean | 是否让动画只执行一次。 | data-scroll="once" |
回调函数
你可以在元素显示或隐藏之后触发回调函数,通过data-scroll-showCallback或data-scroll-hideCallback属性来实现。例如:
<div data-scroll data-scroll-showCallback="alert('Visible')" data-scroll-hideCallback="alert('Invisible')"></div>
ScrollTrigger插件的github地址为:https://github.com/terwanerik/ScrollTrigger






![MBTI 16型人格职业性格测试源码PC+H5自适应完整版基于ThinkPHP框架[亲测可用]](https://www.icbot.net/upload/portal/20250429/32ccad646f32a5f4926b3b7b5ef3232a.png)















