怎样使用BubbleTransition做出页面切换效果

这次给大家带来怎样使用BubbleTransition做出页面切换效果,使用BubbleTransition做出页面切换效果的注意事项有哪些,下面就是实战案例,一起来看一下。

怎样使用BubbleTransition做出页面切换效果 

CodePen 地址

前端使用 SPA 之后,能获得更多的控制权,比如页面切换动画,使用后端页面我们可能做不了上面的效果,或者做出来会出现明显的闪屏。因为所有资源都需要重新加载。

今天使用 vue,vue-router,animejs 来讲解如何上面的效果是如何实现的。

步骤

点击菜单,生成 Bubble,开始执行入场动画

页面跳转

执行退场动画

函数式调用组件

我希望效果是通过一个对象去调用,而不是 v-show, v-if 之类的指令,并且为了保持统一,仍然使用 Vue 来写组件。我通常会用新的 Vue 根节点来实现,让效果独立于业务组件之外。

let instance = nullfunction createServices (Comp) { // ... return new Vue({ // ... }).$children[0]}function getInstance () { instance = instance || createServices(BubbleTransitionComponent) return instance}const BubbleTransition = { scaleIn: () => { return getInstance().animate('scaleIn') }, fadeOut: () => { return getInstance().animate('fadeOut') }}

登录后复制

接着实现 BubbleTransitionComponent,那么 BubbleTransition.scaleIn, BubbleTransition.scaleOut 就能正常工作了。 animejs 可以监听的动画执行结束的事件。anime().finished 获得 Promise 对象。

 

import anime from 'animejs'export default { name: 'transition-bubble', data () { return { animating: false, animeObjs: [] } }, methods: { scaleIn (selector = '#bubble', {duration = 800, easing = 'linear'} = {}) { // this.animeObjs.push(anime().finished) }, fadeOut (selector = '#bubble', {duration = 300, easing = 'linear'} = {}) { // ... }, resetAnimeObjs () { this.animeObjs.reset() this.animeObjs = [] }, animate (action, thenReset) { return this[action]().then(() => { this.resetAnimeObjs() }) } }}

登录后复制

最初的想法是,在 router config 里面给特定路由 meta 添加标记,beforeEach 的时候判断判断该标记执行动画。但是这种做法不够灵活,改成通过 Hash 来标记,结合 Vue-router,切换时重置 hash。

Homeconst BUBBLE_TRANSITION_IDENTIFIER = 'bubbletransition'router.beforeEach((to, from, next) => { if (to.hash.indexOf(BUBBLE_TRANSITION_IDENTIFIER) > 0) { const redirectTo = Object.assign({}, to) redirectTo.hash = '' BubbleTransition.scaleIn()  .then(() => next(redirectTo)) } else { next() }})router.afterEach((to, from) => { BubbleTransition.fadeOut()})

登录后复制

酷炫的动画能在一瞬间抓住用户的眼球,我自己也经常在逛一些网站的时候发出,wocao,太酷了!!!的感叹。可能最终的实现用不了几行代码,自己多动手实现一下,下次设计师提出不合理的动画需求时可以装逼,这种效果我分分钟能做出来,但是我认为这里不应该使用 ** 动画,不符合用户的心理预期啊。

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

使用vue-infinite-loading实现无限加载功能

使用vue-i18n让vue代码国际化

以上就是怎样使用BubbleTransition做出页面切换效果的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2756977.html

(0)
上一篇 2025年3月8日 07:46:47
下一篇 2025年3月8日 07:46:53

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Vue 页面切换效果之 BubbleTransition

    使用 vue,vue-router,animejs 来讲解如何实现vue页面切换效果之 bubbletransition,需要的朋友参考下吧   CodePen 地址 前端使用 SPA 之后,能获得更多的控制权,比如页面切换动画,使用后端页…

    2025年3月8日
    200
  • 怎样做出JS中E-mail 地址格式验证

    这次给大家带来怎样做出JS中E-mail 地址格式验证,做出JS中E-mail 地址格式验证的注意事项有哪些,下面就是实战案例,一起来看一下。 1:代码 利用JavaScript验证是否符合电子邮箱地址 // 创建第一个函数validate…

    2025年3月8日
    200
  • 怎样在微信小程序里实现分享页面后返回首页的功能

    这次给大家带来怎样在微信小程序里实现分享页面后返回首页的功能,在微信小程序里实现分享页面后返回首页的功能的注意事项有哪些,下面就是实战案例,一起来看一下。 做小程序开发发现,页面分享出去后,用户通过分享进去的页面很难找到返首页的情况。(微信…

    2025年3月8日
    200
  • 如何使用jQuery做出文字超过规定行数自动加省略号

    这次给大家带来如何使用jQuery做出文字超过规定行数自动加省略号,使用jQuery做出文字超过规定行数自动加省略号的注意事项有哪些,下面就是实战案例,一起来看一下。 jQuery自动添加省略号 $(function () { $(“.fi…

    编程技术 2025年3月8日
    200
  • 怎样处理vue页面加载闪烁

    这次给大家带来怎样处理vue页面加载闪烁,处理vue页面加载闪烁的注意事项有哪些,下面就是实战案例,一起来看一下。 v-if 和 v-show 的区别 v-if只会在满足条件时才会编译,而v-show不管是否满足条件始终会编译,v-show…

    编程技术 2025年3月8日
    200
  • Vue+BubbleTransition轻松实现页面切换效果

    这次给大家带来Vue+BubbleTransition轻松实现页面切换效果,Vue+BubbleTransition实现页面切换效果的注意事项有哪些,下面就是实战案例,一起来看一下。   CodePen 地址 前端使用 SPA 之后,能获得…

    2025年3月8日
    200
  • 怎样实现Vue页面骨架屏

    这次给大家带来怎样实现Vue页面骨架屏,实现Vue页面骨架屏的注意事项有哪些,下面就是实战案例,一起来看一下。 在开发webapp的时候总是会受到首屏加载时间过长的影响,主流的解决方法是在载入完成之前显示loading图效果,而一些大公司会…

    2025年3月8日
    200
  • 如何使用vue配置多页面

    这次给大家带来如何使用vue配置多页面,使用vue配置多页面的注意事项有哪些,下面就是实战案例,一起来看一下。 1.安装环境 ①安装node.js 并添加入环境变量PATH ②安装淘宝NPM镜像 $ npm install -g cnpm …

    2025年3月8日
    200
  • 怎样使vue项目刷新页面

    这次给大家带来怎样使vue项目刷新页面,使vue项目刷新页面的注意事项有哪些,下面就是实战案例,一起来看一下。 1.场景 在处理列表时,常常有删除一条数据或者新增数据之后需要重新刷新当前页面的需求。 2.遇到的问题 1. 用vue-rout…

    2025年3月8日
    200
  • 怎样操作Vue做出高德地图搭建实时公交应用

    这次给大家带来怎样操作Vue做出高德地图搭建实时公交应用,操作Vue做出高德地图搭建实时公交应用的注意事项有哪些,下面就是实战案例,一起来看一下。 最近项目要使用高德地图写了一个实时公交的应用,这边分享一个小应用主要熟悉下高德地图在vue中…

    2025年3月8日
    200

发表回复

登录后才能评论