---
tags: Gsap
---
###### tags: `gsap`
# GSAP3 Plugins - ScrollTrigger
載入 gsap主程式 js 和 引用 ScrollTrigger 外掛程式 js
```
<script src="gsap.min.js"></script>
<script src="ScrollTrigger.min.js"></script>
```
> **除了需要引入 JavaScript 資源外,<font style="background-color: red; color: #fff;">還需要在 JavaScript 中註冊外掛</font>**
> gsap.registerPlugin(ScrollTrigger);
> 若有多個只需要一次註冊多個插件
> gsap.registerPlugin(MotionPathPlugin, ScrollTrigger, MorphSVGPlugin);
- 屬性使用方法
```python=1
gsap.registerPlugin(ScrollTrigger);
gsap.to("動畫執行物件選擇器", {
scrollTrigger: "觸發目標選擇器",
x: 300,
});
```
<iframe height="265" style="width: 100%;" scrolling="no" title="ScrollTrigger-1" src="https://codepen.io/juest/embed/ZEpwEQo?height=265&theme-id=dark&default-tab=css,result" frameborder="no" loading="lazy" allowtransparency="true" allowfullscreen="true">
See the Pen <a href='https://codepen.io/juest/pen/ZEpwEQo'>ScrollTrigger-1</a> by gt.juest
(<a href='https://codepen.io/juest'>@juest</a>) on <a href='https://codepen.io'>CodePen</a>.
</iframe>
---
- 物件使用方法
```python=1
gsap.registerPlugin(ScrollTrigger);
gsap.to( "動畫執行物件選擇器",{
scrollTrigger: {
trigger: "觸發目標選擇器",
}
});
```
## {物件參數}
```python=
scrollTrigger: {
trigger: ".selector", // 觸發目標選擇器或元素
start: "top center", // [觸發目標] [捲軸] 定位點
end: "20px 80%", // [觸發目標] [捲軸] 定位點
scrub: true, // or time (in seconds) to delay
pin: true, // or selector or element to pin
markers: true, // 顯示標記觸發點
toggleActions: "play pause resume reset",
// other actions: complete reverse none
toggleClass: "active",
id: "my-id",
anticipatePin: 1, // can help avoid flash
snap: 1 / 10, // progress increment
pinReparent: true, // moves to documentElement during pin
once: true,
endTrigger: ".selector", // selector or element
horizontal: true, // switches mode
onEnter: callback
invalidateOnRefresh: true, // clears start values on refresh
// other callbacks:
// onLeave, onEnterBack, onLeaveBack, onUpdate,
// onToggle, onRefresh, onRefreshInit, onScrubComplete
}
```