首页 > 其他分享 >vue-scrollmagic 滚动动画制作插件

vue-scrollmagic 滚动动画制作插件

时间:2023-07-31 19:12:13浏览次数:38  
标签:动画 插件 vue scrollmagic scene screne

 

1、需求:

在做网站的时候、需要加一个根据页面滚动位置进行页面变化的效果。

2、实现方案:

自己写个滚动监听也不是很复杂、但是管理维护起来比较乱。所以直接找了这个插件

官网:vue-scrollmagic插件地址

3、使用:

安装

npm i vue-scrollmagic --save

载入

// main.js
import VueScrollmagic from "vue-scrollmagic"; Vue.use(VueScrollmagic, { verical: true, globalSceneOptions: { triggerHook: "onLeave" // duration: "100%" }, loglevel: 2, refreshInterval: 100 });

使用

<template>
  <div id="home">
    <div class="item trigger0">trigger0</div>
    <div class="item trigger1">
      trigger1
      <div class="page1"></div>
    </div>

  </div>
  </template>
  
  <script>
  export default {
    data() {
      return {
        scenes:[
                {
                  scene: {
                    triggerElement: ".trigger0", // 触发元素
                    triggerHook: 0,// 定义触发器 Hook 相对于视口的位置 没弄明白
                    reverse: true, // 控制回滚时、是否加载动画
                    offset: 0, // 偏量、动画开始位置的微调、也可当作triggerElement使用、当triggerElement不存在的时候。
                    duration: "40%" // 动画持续进度
                  },
                  tweenElement: ".page1", // 变化元素 
                  tween: { // 变更动画内容
                    css: { // 配置最终css
                      left: '50%' // 样式参数
                    }
                  }
                },
                
              ]
      }
    },

    mounted() {
      this.scenes.map((screne, i) => {
      const scene = this.$scrollmagic.scene(screne.scene)
      .setTween(screne.tweenElement, screne.tween)
      // .addIndicators({ name: `Scene ${i}` });
      this.$scrollmagic.addScene(scene);

      });

    }
  }
  </script>
  
  <style >
  
  .page1{
    position: absolute;
    width: 20%;
    height: 100%;
    left: -20%;
    background: red;
    transform: translateX(-50%);
  }
  .item{
    height: 100vh;
    text-align: center;
    position: relative;
    z-index: 90;
    color: #ffffff;
    background: forestgreen;
    border-top: 1px solid rgba(255,255,255,.1);
  }

    
  </style>

  

当然了,这个只是初级的应用、也就是单次动画。如果需要一个动画多次变换、那就需要深度使用了,暂时用不到就没有研究。

 

标签:动画,插件,vue,scrollmagic,scene,screne
From: https://www.cnblogs.com/yc-c/p/17594247.html

相关文章

  • vue循环生成echarts图表
    1.效果图2.引入echartsnpminstallecharts--save3.main.js全局引入4.页面data数据是从后台接口中返回的,需要通过watch监听来获取created方法中获取到的数据。用mounted由于是异步调用,是获取不到created中的数据的。4.后台数据我这里是根据实际业务场景返回的map......
  • ruby web 实战(9)-vue 3基础(2)
    目录定位到导入的vue定位到导入的vue使用导入映射表(ImportMaps)来告诉浏览器如何定位到导入的vue:<!doctypehtml><htmllang="zh"><head><metacharset="utf-8"><title>world</title></head><body><scriptt......
  • three.js学习1(vue3)
    1.引入threejsnpminstall--savethree在组件内import*asTHREEfrom'three'2.创建容器创建canvas标签,为3D渲染建立容器<template><div><canvasid="three"></canvas></div></template>3.创建场景 Three.js依赖......
  • vue多选框
    vue多选框多选框(选中传id)效果图点击确定后传入后台id前端具体实现-vue+elementui前台变量首先使用selecctDeptMent方法从后台数据库,查询到所有的部门信息,存入到optionList中然后取出这个部门名称constoptions=ref([])//代码修改/**新增按钮操作*/const......
  • Android应用开发的插件化 模块化
    在android的项目开发中,都会遇到后期功能拓展增强与主程序代码变更的现实矛盾,也就是程序的灵活度。  由于linux平台的安全机制,再加上dalvik的特殊机制,各种权限壁垒,使得开发一个灵活多变的程序,变得比较困难,不像pc平台下那么容易。  瞅瞅elipse的插件,瞅瞅360的插件,在an......
  • vue实现浏览器端大文件分块上传
    ​ 这里只写后端的代码,基本的思想就是,前端将文件分片,然后每次访问上传接口的时候,向后端传入参数:当前为第几块文件,和分片总数下面直接贴代码吧,一些难懂的我大部分都加上注释了:上传文件实体类:看得出来,实体类中已经有很多我们需要的功能了,还有实用的属性。如MD5秒传的信息。pub......
  • 浏览器中的自动化操作插件:Automa
    相信很多小伙伴跟我一样,每天都有大量基于浏览器的重复操作,比如:查看任务、查看新闻、查看各种每天要关注的内容,甚至可能还需要对其做一些操作。那么这些任务是否有办法自动化执行呢?今天就给大家推荐一个浏览器扩展程序:Automa。Automa是一个开源的浏览器扩展,它可以基于浏览器来执行......
  • VUE3、ElementPlus 重构若依vue2 表单构建功能
    Vue3+ElementPlus+Vite重构若依Vue2表单构建功能若依官方的Vue3版本发布已经有段时间了,就是这个表单构建功能一直没有安排计划去适配到Vue3!前段时间公司需要做个类似的功能,就直接借鉴若依Vue2的来直接改了吐槽下:vuedraggable-vue3坑真多,官方文档一言难尽,现在不推荐使......
  • 坑:vue2在props时仅接受第一次返回数据的解决办法
    今天在做项目时遇到了一个bug,在列表页进入详情页时带入list以便子组件遍历使用,使用props传参,该list在父组件由created生命周期函数访问接口获取,然后子组件在使用时,直接使用props接收并调用,大概代码如下://父组件<Child:list='list'/>...created(){getListApi().then(list......
  • 浅聊一下,React会不会被VUE取代?
    看到知乎上有比较多的类似问题,正好这两个框架在以往的一些项目中都有实践过,就借着本篇文章说说我个人的看法。 先摆个结论:不会,毕竟各有千秋,除非跨端框架有被更好的概念所替代,又或者App已经彻底过气了。 什么是React?什么是VUE?维基百科上的概念解释,Vue.js是一个用于创......