首页 > 其他分享 >NUXT3踩坑之scrollreveal

NUXT3踩坑之scrollreveal

时间:2023-01-29 00:34:06浏览次数:61  
标签:动画 NUXT3 scrollreveal scrollReveal 延时 data

前言
个人需要写一个官网,技术选型选择了VUE,因为SEO所以选择了NUXT3 由于需要加入一些动画,所以选择了scrollreveal
第一次使用NUXT3,多有不熟。
我参考了网上相关的文档最后千辛万苦尝试成功。仅以此记。

代码部分
导入相关

pnpm install scrollreveal

插件配置


//plugins/scrollreveal.client.ts
import { defineNuxtPlugin } from "#app";
import scrollReveal from 'scrollreveal'
 
export default defineNuxtPlugin((nuxtApp) => {
    let data = scrollReveal();
      return {
        provide: {
            scrollReveal: data,
        },
      }
});

相关页面

<script setup lang="ts">
import { onMounted, reactive } from 'vue'
// 导入scrollReveal
const { $scrollReveal } = useNuxtApp()

const data = ref<any>(null)

onMounted(() => {
  if (process.client) {
    retScroll($scrollReveal)
  }
})

const retScroll = (data) => {
  data.reveal('#reveal-top', {
    // 动画的时长
    duration: 800,
    // 延迟时间
    delay: 300,
    // 动画开始的位置,'bottom', 'left', 'top', 'right'
    origin: 'bottom',
    // 回滚的时候是否再次触发动画
    reset: false,
    // 延时执行方式(always(一直延时执行),once(只延时执行一次),onload(只在加载时延时执行))
    // // useDelay: 'onload',
    // 在移动端是否使用动画
    mobile: true,
    // 滚动的距离,单位可以用%,rem等
    distance: '10px',
    // 其他可用的动画效果
    opacity: 0.01,
    // 执行速度 线性函数啥的
    easing: 'cubic-bezier(0.5, 0, 0, 1)',
    // 执行方式(缩放)
    scale: 0.9,
    // 使用执行之前的回调函数
    beforeReveal: function (ele) {
      //    console.log(1);
    },
  })
}
</script>
<template>
  <div>
    <div>
      <div class="test" id="reveal-top">你好</div>
    </div>
    <div>
      <div class="test" id="reveal-top">你好</div>
    </div>
    <div>
      <div class="test" id="reveal-top">你好</div>
    </div>
  </div>
</template>
<style scoped lang="scss">
.test {
  height: 100vh;
}
</style>

参考文档
https://zhuanlan.zhihu.com/p/462298873

作品展示
预计我会把发放在这里面 http://qingha.ltd 到时候来看看吧

标签:动画,NUXT3,scrollreveal,scrollReveal,延时,data
From: https://www.cnblogs.com/liyunq/p/17071574.html

相关文章

  • 在Nuxt3中使用Font Awesome
    如何把FontAwesome集成到Nuxt3中使用安装:1.安装FontAwesome图标库核心yarnadd@fortawesome/fontawesome-svg-core2.安装FontAwesome免费图标依赖包yarnadd@......
  • 使用nvm和安装nuxt3
    1.nvm安装及使用参照: https://www.cnblogs.com/sunbenbao/p/16587644.html2.nuxt3安装命令: npxnuxiinitnuxt3-app一直报错,搜索后可以参照 https://blog.cs......
  • NUXT3自定义IP和端口
    NUXT3自定义IP和端口前期准备1,一个NUXT3项目2,nodejs版本建议14.x.x以上我使用的是最新版本19.x.x3,nodejs全局安装cross-env,如未安装,执行以下命令npm......
  • nuxt3批量引入svg文件
    nuxt3引入svg的方法和viet的差不多,只是细节上有些不同同样是两步,引入svg组件和引入svg文件第一步:引入svg组件在components文件夹下创建SvgIcon.vue组件<template>......
  • 记录nuxt3爬坑,vitest配置,autoimport等问题
    记录日期2022.11.11项目基于vitesse-nuxt3package.json、nuxt.config.ts、vitest.config.ts配置放在结尾项目版本nuxt版本:3.0.0-rc.13-27772354.a0a59e2@nuxt/test-u......
  • nuxt3引入element-plus的三种方法
    1、全部引入安装element-plus依赖npminstallelement-plus--save在nuxt3项目中plugins下新建一个element-plus.client.ts文件 在element-plus.client.ts文件中输......
  • 生成nuxt3项目的三种方法
    方法一:npxnuxiinitnuxt-app方法二:到github的nuxt仓库下的一个叫starter的项目中:https://github.com/nuxt/starter  点击code下载,之后安装依赖方法三:去官网......
  • nuxt3中引入全局sass变量
    在nuxt3项目下的assets文件中创建一个变量文件,例如: 然后在nuxt.config.ts文件中输入exportdefaultdefineNuxtConfig({...//引入scss全局变量vite:{......
  • Nuxt3从入门到实战
    Nuxt3从入门到实战前言大家好,我是村长,欢迎关注我的公众号村长学前端。最近在与DevUI团队一起做直播,给大家分享VueDevUI开源组件库的建设,欢迎大家关注我们直播,多给项目star......
  • 【Nuxt3从入门到实战】第三啪:巧用布局模板,高效开发从这里开始!
    前言大家好,我是村长,欢迎关注我的公众号村长学前端和B站Young村长!上一篇写了nuxt3路由系统,我们试用了两个重要功能:​​动态路由​​​和​​嵌套路由​​。体验便捷的同时,当......