代码之家  ›  专栏  ›  技术社区  ›  gabed123

Gatsby JS中的自定义Javascript

  •  0
  • gabed123  · 技术社区  · 6 年前

    我创建了一些小的脚本函数,希望每次加载或刷新页面时都触发这些函数下面是为第三方库Anime JS构建的一个示例,但它大多是任意的,因为它对我的所有脚本函数都是相同的问题。

    import anime from 'animejs'
    
        if (typeof window !== `undefined`) {
          var bioLayerIn = anime.timeline();
          bioLayerIn
          .add({
            targets: ['.color-layer'],
            translateX: '100%',
            easing: 'easeInOutQuint',
            duration: 400
          })
          .add({
            targets: ['.color-layer'],
            translateX: '200.1%',
            easing: 'easeInOutQuint',
            duration: 430,
            delay:5
          });
          }
    

    因为某些原因它只运行 一旦 当我编辑脚本并保存它时,在我对脚本进行更改并再次保存它之前,再也不执行此操作我不知道如何让Gatsby/React运行javascript函数,也就是每次加载/刷新页面时我肯定这和盖茨比链接和传送网页的方式有关。

    我知道盖茨比处理定制JS的方式不同,因为它是建立在一个框架上的,但是盖茨比的文档中没有明确的答案来解释这一点。 This 页面讨论添加自定义js,但如果是为第三方库

    目前我的剧本 /src/js/自定义.js

    1 回复  |  直到 6 年前
        1
  •  0
  •   gabed123    6 年前

    这是因为代码只会在加载后运行(在我切换页面时不会重新加载)我需要使用 https://www.gatsbyjs.org/docs/browser-apis/#onRouteUpdate 钩住gatsby-browser.js中的路由更改事件

    Source