Svelte可以与ScrollMagic+;GSAP

Svelte可以与ScrollMagic+;GSAP,svelte,gsap,scrollmagic,Svelte,Gsap,Scrollmagic,我在和ScrollMagic&GSAP一起工作时遇到了麻烦。我一整天都在调查此事,但仍然找不到解决办法。它甚至可以与Svelte一起使用吗?是否有任何Svelte和ScrollMagic模板 谢谢。我使用这些说明作为参考: 在您的svelte项目中添加scrollmagic,gsap,以及scrollmagic插件gsap: yarn add -D scrollmagic gsap scrollmagic-plugin-gsap 在main.js中,配置ScrollMagic以使用GSAP:

我在和ScrollMagic&GSAP一起工作时遇到了麻烦。我一整天都在调查此事,但仍然找不到解决办法。它甚至可以与Svelte一起使用吗?是否有任何Svelte和ScrollMagic模板


谢谢。

我使用这些说明作为参考:

在您的svelte项目中添加
scrollmagic
gsap
,以及
scrollmagic插件gsap

yarn add -D scrollmagic gsap scrollmagic-plugin-gsap
main.js
中,配置ScrollMagic以使用GSAP:

从“ScrollMagic”导入ScrollMagic
从“gsap”导入gsap
从“scrollmagic插件gsap”导入{ScrollMagicPluginGsap}
ScrollMagicPluginGsap(ScrollMagic,gsap)
然后在苗条组件中,您可以定义控制器、时间线和屏幕:


从“ScrollMagic”导入ScrollMagic
从“gsap”导入{TimelineMax}
从“svelte”导入{onMount}
//定义控制器和时间线
const controller=new ScrollMagic.controller()
常数tl=新的TimelineMax()
//安装组件后,设置场景
onMount(()=>{
//配置时间线
tl.1,从“.box”开始,1.5{
比例:0,
周期:{
y:[-50,50]
},
错开:{
来自:“中心”,
金额:0.75
}
})
//定义场景
const scene=new ScrollMagic.scene({
触发元素:“#阶段”,
持续时间:“50%”,
触发钩:0.35
})
场景:塞特温(tl)
scene.addTo(控制器)
})
这部分只是一个垫片
1.
2.
3.
4.
5.
6.
这部分只是一个垫片
:全局(正文){
颜色:#ccc;
填充:0;
保证金:0;
字体系列:“Roboto”,无衬线;
}
h1{
颜色:白色;
保证金:0;
}
#舞台{
高度:100vh;
宽度:100%;
背景:#262626;
显示器:flex;
证明内容:中心;
对齐项目:居中;
}
.垫片{
宽度:100%;
高度:100vh;
背景#5386b2;
显示器:flex;
证明内容:中心;
对齐项目:居中;
}
.盒子{
高度:60px;
宽度:60px;
对齐项目:居中;
保证金:4倍;
字体大小:1.2米;
字号:700;
颜色:白色;
边界半径:4px;
显示器:flex;
证明内容:中心;
柔性包装:包装;
}
.box1{
背景色:#84c186;
}
.box2{
背景色:#8b6c4c;
}
.box3{
背景色:#39a3ee;
}
.box4{
背景色:#ef9144;
}
.box5{
背景色:#cd58eb;
}
.box6{
背景色:#b84b4b;
}

它还可以在使用CDN导入的Svelte的REPL中工作:

我将这些说明用作参考:

在您的svelte项目中添加
scrollmagic
gsap
,以及
scrollmagic插件gsap

yarn add -D scrollmagic gsap scrollmagic-plugin-gsap
main.js
中,配置ScrollMagic以使用GSAP:

从“ScrollMagic”导入ScrollMagic
从“gsap”导入gsap
从“scrollmagic插件gsap”导入{ScrollMagicPluginGsap}
ScrollMagicPluginGsap(ScrollMagic,gsap)
然后在苗条组件中,您可以定义控制器、时间线和屏幕:


从“ScrollMagic”导入ScrollMagic
从“gsap”导入{TimelineMax}
从“svelte”导入{onMount}
//定义控制器和时间线
const controller=new ScrollMagic.controller()
常数tl=新的TimelineMax()
//安装组件后,设置场景
onMount(()=>{
//配置时间线
tl.1,从“.box”开始,1.5{
比例:0,
周期:{
y:[-50,50]
},
错开:{
来自:“中心”,
金额:0.75
}
})
//定义场景
const scene=new ScrollMagic.scene({
触发元素:“#阶段”,
持续时间:“50%”,
触发钩:0.35
})
场景:塞特温(tl)
scene.addTo(控制器)
})
这部分只是一个垫片
1.
2.
3.
4.
5.
6.
这部分只是一个垫片
:全局(正文){
颜色:#ccc;
填充:0;
保证金:0;
字体系列:“Roboto”,无衬线;
}
h1{
颜色:白色;
保证金:0;
}
#舞台{
高度:100vh;
宽度:100%;
背景:#262626;
显示器:flex;
证明内容:中心;
对齐项目:居中;
}
.垫片{
宽度:100%;
高度:100vh;
背景#5386b2;
显示器:flex;
证明内容:中心;
对齐项目:居中;
}
.盒子{
高度:60px;
宽度:60px;
对齐项目:居中;
保证金:4倍;
字体大小:1.2米;
字号:700;
颜色:白色;
边界半径:4px;
显示器:flex;
证明内容:中心;
柔性包装:包装;
}
.box1{
背景色:#84c186;
}
.box2{
背景色:#8b6c4c;
}
.box3{
背景色:#39a3ee;
}
.box4{
背景色:#ef9144;
}
.box5{
背景色:#cd58eb;
}
.box6{
背景色:#b84b4b;
}

它还可以在使用CDN导入的Svelte的REPL中工作:

非常好,升级。为了使REPL版本正常工作,我必须对
controller
tl
变量定义进行注释/取消注释,新加载或页面刷新后的原始编译失败。我尝试将这两个定义移动到
onMount
中,但行为是相同的。我猜这是CDN的REPL问题。我们GreenSock建议使用GSAP3格式。有关更多信息,请参阅。是否可以只使用CDN链接而不使用npm/Warn安装将GSAP安装到一个小巧的应用程序中?还是需要npm/纱线?非常好,上乘。为了使REPL版本正常工作,我必须对
controller
tl
变量定义进行注释/取消注释,新加载或页面刷新后的原始编译失败。我尝试将这两个定义移动到
onMount
中,但行为是相同的。我猜这是CDN的REPL问题。我们GreenSock建议使用GSAP3格式。有关更多信息,请参阅。是否可以仅使用CDN将GSAP安装到一个小巧的应用程序中