题图是2013年在 OSRAM 的顶层拍的远景,能看到慕尼黑的高楼大厦不算多,远近也就看到4栋,左上的富士通,右侧远处的奥林匹克公园的高塔还有宝马大厦,最远处的那一栋我不知道是哪里了——这是因为不在老城区,老城区的话所有的建筑是不能高于玛丽安广场的老教堂的,这也是为什么大部分欧洲城市的高楼大厦偏少的原因,都是类似的情况。

言归正传,Vue 的过渡系统提供了非常多简单的方法设置进入、离开和列表的动效。那么对于数据元素本身的动效呢,比如:

  • 数字和运算
  • 颜色的显示
  • SVG 节点的位置(我知道这个没有在 HTML 当中说明过,我本来是打算放在 CSS 部分后面的,不过 Web API 这个部分我自己也有点迷糊,所以先学了再分享会更好,考虑放在 Vue 这部分后面了)
  • 元素的大小和其他属性

这些数据要么本身就以数值形式存储,要么可以转换为数值,有了这些数值后,我们就可以结合 Vue 的响应式和组件系统,使用第三方库来实现切换元素的过渡状态。

所以今天这个章节就是一起来看看元素的状态过渡效果。


1 状态动画

通过监听器我们能监听到任何数值类 DOM 属性的数值更新,这个可能听起来很抽象,所以让我们先来看看使用 GreenSock(另一个动画库) 一个例子:

<!DOCTYPE html>

我们可以看到当数值更新时,就会触发动画。

这个是一个不错的演示,但是对于不能直接像数字一样存储的值,比如 CSS 中的 color 的值怎么办?通过下面的例子我们来通过 Tween.jsColor.js 实现一个例子:

<!DOCTYPE html>

2 动态的状态过渡

就像 Vue 的过渡组件一样,数据背后状态过渡会实时更新,这个特点对于原型设计十分有用;当我们修改一些变量,即使是一个简单的 SVG 多边形也可实现很多难以想象的效果。

官网提供了一个例子(这里还是要说明一下,官方代码使用的是 var,而我这里大量使用 let 而不是 const 是因为演示原因,事实上有不少比如 generatePoints 方法定义当中的两个变量,其实都应该是常量,以防意料之外的修改):

<!DOCTYPE html>

3 用好组件进行过渡

管理太多的状态过渡会很快的增加 Vue 实例或者组件的复杂性,所以我们可以把动画放置在专用的子组件之内,这里我们来将之前数值变化的示例改写一下:

<!DOCTYPE html>

我们能在组件中结合使用这一节讲到各种过渡策略,和上一节提及的 Vue 内建过渡,总之,对于完成各种过渡动效几乎没有阻碍。

4 赋予设计以生命

这部分内容完全来自于官方手册:

只要一个动画,就可以带来生命。不幸的是,当设计师创建图标、logo 和吉祥物的时候,他们交付的通常都是图片或静态的 SVG。所以,虽然 GitHub 的章鱼猫、Twitter 的小鸟以及其它许多 logo 类似于生灵,它们看上去实际上并不是活着的。

Vue 可以帮到你。因为 SVG 的本质是数据,我们只需要这些动物兴奋、思考或警戒的样例。然后 Vue 就可以辅助完成这几种状态之间的过渡动画,来制作你的欢迎页面、加载指示、以及更加带有情感的提示。

Sarah Drasner 展示了下面这个 demo,这个 demo 结合了时间和交互相关的状态改变(小警告,完整代码很长,因为动画完全是由 svg 实现的,我这里仅仅是实现了本地化处理):

<!DOCTYPE html>

话说我的美术细胞是少了点,svg 也就不是我能玩得转的类型,看到人家的样例真是羡慕嫉妒恨啊……

js修改display_Vue.js从零开始——过渡 / 动画效果(2)相关推荐

  1. js html页面切换效果,jQuery实现切换页面过渡动画效果

    这篇文章主要介绍了关于jQuery实现切换页面过渡动画效果,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 这是一款效果非常酷的jQuery和CSS3通过AJAX调用切换页面过渡动画特效 ...

  2. Vue入门之animate过渡动画效果

    简介: transition方法的使用 transition内置方法 transition-group animate库实现过渡动画 `<!DOCTYPE html>` `<html ...

  3. react过渡动画效果的实现,react-transition-group

    本文介绍react相关的过渡动画效果的实现 有点类似vue的transition组件,主要用于组件mount和unmount之前切换时应用动画效果 安装 cnpm install react-tran ...

  4. Flutter ColorTween实现颜色过渡动画效果

    志在巅峰的攀登者,不会陶醉在沿途的某个脚印之中,在码农的世界里,优美的应用体验,来源于程序员对细节的处理以及自我要求的境界,年轻人也是忙忙碌碌的码农中一员,每天.每周,都会留下一些脚印,就是这些创作的 ...

  5. ppt模板页面过渡动画效果怎么制作?

    一个好看的ppt模板,动画效果少不了,ppt模板制作软件也带了不少动画效果,ppt家园下面就来介绍一下ppt模板页面过渡动画效果怎么制作? 插入-图片-将两张图片素材导入-一张铺满PPT页面-一张放在 ...

  6. Fabric.js 删除元素(带过渡动画)

    本文简介 Fabric.js 提供了2个方法删除对象. 一个是 直接删除,另一个方法是 带过渡动画 删除元素(淡出动画). 本文重点讲 带过渡动画 删除元素的方法,还会讲到设置 过渡时长 .删除后的 ...

  7. js实现3d标签云tag动画效果js特效代码

    下载地址JS制作TAG标签云文字动画特效是一款当鼠标悬停某个标签时,当前标签静止,移出恢复滚动效果.tagcloud({ selector: ".tagcloud", //元素选择 ...

  8. 【前端】使用wow.js这个插件(实现页面动画效果),提高前端开发效率。

    1.简介 有的页面在向下滚动的时候,有些元素会产生细小的动画效果.比如需要做到滚动条滑到某个位置时,才能显示动画. wow.js 依赖 animate.css,所以它支持 animate.css 多达 ...

  9. js模仿微信语音播放的动画效果

    设计思路: 播放时使用js的setInterval来替换png达到动画效果 当前demo语音播放使用插件BenzAMRRecorder.js 如需要用其它js插件来播放语音也很容易集成到本demo 准 ...

最新文章

  1. 【神经网络】(3) 卷积神经网络(CNN),案例:动物三分类,附python完整代码
  2. Active Directory 账号迁移配置介绍
  3. 黑盒测试方法之等价类划分法
  4. Intel DAAL AI加速——支持从数据预处理到模型预测,数据源必须使用DAAL的底层封装库...
  5. python银行系统-python 银行系统
  6. hdu4971 流-最大权闭包
  7. Apache ZooKeeper - Leader Election使用场景
  8. 不同频率数据的处理方法V2
  9. 数据库面试题【五、索引的优缺点,什么时候使用索引,什么时候不能使用索引】
  10. USACO SECTION 1.1.2 Transformations 爆搜
  11. C++ 学习笔记----类篇
  12. linux挂载硬盘的分区创建,Linux 新增硬盘、新建分区、格式化硬盘、挂载硬盘的操作...
  13. matlab中创建一个工程,从文件夹创建新工程
  14. RIPS自动化地挖掘PHP源代码安全漏工具
  15. 我来谈谈小程序和工作方向
  16. JQ实现仿淘宝条件筛选
  17. 信息学奥赛一本通 1133:输出亲朋字符串 | OpenJudge NOI 1.7 05
  18. 实现石头剪刀布获胜法_用java实现一个猜拳小游戏
  19. linux内核zfs,ZFS与Linux文件系统的变革
  20. ubuntu 14.04 安装惠普打印机驱动(测试成功)

热门文章

  1. Xamarin.Forms的滚动视图ScrollView
  2. 简述ospf的工作原理_物联网水表工作原理简述
  3. JAVA同时输入用户名和密码_用java模拟设计一个简单的“用户注册”程序。当用户输入用户名和密码时,单击“注...
  4. 如何保留5个有效数字输出c不4舍5入_10 个C语言课设小项目拿走不谢~
  5. 海量分布式爬取抖音视频,几行代码搞定
  6. Python处理脑电--Epochs数据可视化
  7. 学习java的一些笔记(3)
  8. [UE4]网游中角色Pawn的移动位置同步以及RTS多角色同时移动的解决方案
  9. 全套L4自动驾驶方案降至1万美元,RoboTaxi玩家的反击开始了
  10. “恶意版”俄罗斯方块游戏火了,永远给你不想要的方块,世界纪录才消掉31行...