qq_18819151 2023-10-11 16:21 采纳率: 0%
浏览 8

nuxt.js 使用nuxt-gsap-module出错

nuxt.js 使用nuxt-gsap-module,还没滑动到相应的位置,动画已执行,并覆盖遮挡到其他模块

img

img

html
<section class="panel orange">
            <p><span class="line line-2"></span></p>
          </section>
js
mounted() {
        this.$wow()
        const gsap = this.$gsap
        gsap.registerPlugin(this.$ScrollTrigger);

        gsap.from(".line-2", {
          scrollTrigger: {
            trigger: ".orange",
            scrub: true,
            pin: true,
            start: "top top",
            end: "+=100%",
          },
          scaleX: 0,
          transformOrigin: "left center",
          ease: "none"
        });
    }
css

.panel p {
  color: black;
  font-weight: 400;
  text-align: left;
  font-size: 0.8em;
  line-height: 1.5em;
  margin: 0.3em 0 1em 0;
  width: 100%;
}

.orange {
  background-color: #e77614;
  background-image: radial-gradient(circle at 46% 40%, rgba(228, 228, 228,0.06) 0%, rgba(228, 228, 228,0.06) 13%,transparent 13%, transparent 100%),radial-gradient(circle at 11% 41%, rgba(198, 198, 198,0.06) 0%, rgba(198, 198, 198,0.06) 19%,transparent 19%, transparent 100%),radial-gradient(circle at 52% 23%, rgba(14, 14, 14,0.06) 0%, rgba(14, 14, 14,0.06) 69%,transparent 69%, transparent 100%),radial-gradient(circle at 13% 85%, rgba(148, 148, 148,0.06) 0%, rgba(148, 148, 148,0.06) 44%,transparent 44%, transparent 100%),radial-gradient(circle at 57% 74%, rgba(232, 232, 232,0.06) 0%, rgba(232, 232, 232,0.06) 21%,transparent 21%, transparent 100%),radial-gradient(circle at 59% 54%, rgba(39, 39, 39,0.06) 0%, rgba(39, 39, 39,0.06) 49%,transparent 49%, transparent 100%),radial-gradient(circle at 98% 38%, rgba(157, 157, 157,0.06) 0%, rgba(157, 157, 157,0.06) 24%,transparent 24%, transparent 100%),radial-gradient(circle at 8% 6%, rgba(60, 60, 60,0.06) 0%, rgba(60, 60, 60,0.06) 12%,transparent 12%, transparent 100%),linear-gradient(90deg, #ff7600, #ff7600);
}



.panel {
    width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 600;
  font-size: 1.5em;
  text-align: center;
  color: white;
  position: relative;
  box-sizing: border-box;
  padding: 10px;
}



  .line {
    width: 100%;
    height: 300px;
    margin: 0 0 10px 0;
    position: relative;
    display: inline-block;
    background-color: rgba(255,255,255,1);
  }
  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2023-10-12 18:46
    关注

    引自强大而免费的微信小程序:皆我百晓生。


    根据提供的代码,似乎你没有引入nuxt-gsap-module,或者没有将其正确添加到Nuxt.js项目中。

    要使用nuxt-gsap-module首先需要在nuxt.config.js文件中添加如下配置:

    modules: [
      // ...
      'nuxt-gsap-module',
    ],
    

    然后在你的组件中引入gsapScrollTrigger

    import { gsap } from 'gsap';
    import { ScrollTrigger } from 'gsap/ScrollTrigger';
    

    确保你已经正确安装并导入了gsap库。

    然后,在mounted钩子函数中注册插件并使用gsap.from方法创建动画:

    mounted() {
      const gsap = this.$gsap;
      gsap.registerPlugin(ScrollTrigger);
    
      gsap.from(".line-2", {
        scrollTrigger: {
          trigger: ".orange",
          scrub: true,
          pin: true,
          start: "top top",
          end: "+=100%",
        },
        scaleX: 0,
        transformOrigin: "left center",
        ease: "none"
      });
    },
    

    确保你的mounted方法位于Vue组件中。

    最后,检查一下是否正确引入了gsapScrollTrigger,并确保项目打包时没有报错或警告。

    如果以上步骤都正确执行,你的动画应该在滚动到指定位置时才会执行,并不会覆盖或遮挡其他模块。如果问题仍然存在,请检查控制台或日志以获取更多详细信息。

    评论

报告相同问题?

问题事件

  • 修改了问题 10月11日
  • 创建了问题 10月11日

悬赏问题

  • ¥30 STM32 INMP441无法读取数据
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境