当前位置:首页 > 科技  > 软件

Vue 超实用技巧!建立逻辑与动画样式的通道

来源: 责编: 时间:2024-04-29 16:16:57 246观看
导读大家好,我是林三心,用最通俗易懂的话讲最难的知识点是我的座右铭,基础是进阶的前提是我的初心。背景我们公司的页面上,有一个页面有一个动画效果,具体代码我就不方便贴出来,我就拿一个小例子来大体展示一下这个简单的动画效

大家好,我是林三心,用最通俗易懂的话讲最难的知识点是我的座右铭,基础是进阶的前提是我的初心。95628资讯网——每日最新资讯28at.com

背景

我们公司的页面上,有一个页面有一个动画效果,具体代码我就不方便贴出来,我就拿一个小例子来大体展示一下这个简单的动画效果。95628资讯网——每日最新资讯28at.com

图片图片95628资讯网——每日最新资讯28at.com

其实这个效果很好做,这不是问题的重点,我先贴出来这个动画的代码。95628资讯网——每日最新资讯28at.com

图片图片95628资讯网——每日最新资讯28at.com

支持变大变小?

产品提出了一个需求,那就是这个球要支持变大变小,我心想,那还不简单,搞两个按钮,点击设置球的宽高不就行了?95628资讯网——每日最新资讯28at.com

图片图片95628资讯网——每日最新资讯28at.com

但是我写出来后发现一个问题,球的宽高变大变小,他的动画出现了问题。95628资讯网——每日最新资讯28at.com

  • 变大了,那么这个球会移动出父节点
  • 变小了,那么这个球会到达不了父节点的边界

图片图片95628资讯网——每日最新资讯28at.com

其实问题很容易看出来,球的宽高变大变小了,但是动画计算的移动距离一直是calc(100% - 100px)。95628资讯网——每日最新资讯28at.com

图片图片95628资讯网——每日最新资讯28at.com

所以解决办法就是,当球的大小变了的时候,这个100px也得跟着改成实时的球宽才行。95628资讯网——每日最新资讯28at.com

但是这个100px是写在 keyframes 中啊,我要怎么去实时地去更改呢?JavaScript怎么才能跟class去联动呢?95628资讯网——每日最新资讯28at.com

css变量

诶!可以用css变量去做呀!我可以在球的节点上设置一个样式,这个样式是一个css常量,当我修改球宽高时,顺便也修改这个css常量,然后在 keyframes 中去使用这个css变量即可!95628资讯网——每日最新资讯28at.com

图片图片95628资讯网——每日最新资讯28at.com

现在球的宽高再怎么变,它都能一直保持同样的移动效果,不会达不到边界也不会超出边界了!!!95628资讯网——每日最新资讯28at.com

图片图片95628资讯网——每日最新资讯28at.com

95628资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-86509-0.htmlVue 超实用技巧!建立逻辑与动画样式的通道

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: Java并发编程:深入剖析CyclicBarrier源码

下一篇: 系统设计中跨时区问题的解决方案

标签:
  • 热门焦点
  • Redmi Pad评测:红米充满野心的一次尝试

    从Note系列到K系列,从蓝牙耳机到笔记本电脑,红米不知不觉之间也已经形成了自己颇有竞争力的产品体系,在中端和次旗舰市场上甚至要比小米新机的表现来得更好,正所谓“大丈夫生居
  • 三言两语说透设计模式的艺术-单例模式

    写在前面单例模式是一种常用的软件设计模式,它所创建的对象只有一个实例,且该实例易于被外界访问。单例对象由于只有一个实例,所以它可以方便地被系统中的其他对象共享,从而减少
  • 不容错过的MSBuild技巧,必备用法详解和实践指南

    一、MSBuild简介MSBuild是一种基于XML的构建引擎,用于在.NET Framework和.NET Core应用程序中自动化构建过程。它是Visual Studio的构建引擎,可在命令行或其他构建工具中使用
  • 一篇聊聊Go错误封装机制

    %w 是用于错误包装(Error Wrapping)的格式化动词。它是用于 fmt.Errorf 和 fmt.Sprintf 函数中的一个特殊格式化动词,用于将一个错误(或其他可打印的值)包装在一个新的错误中。使
  • 一个注解实现接口幂等,这样才优雅!

    场景码猿慢病云管理系统中其实高并发的场景不是很多,没有必要每个接口都去考虑并发高的场景,比如添加住院患者的这个接口,具体的业务代码就不贴了,业务伪代码如下:图片上述代码有
  • Python异步IO编程的进程/线程通信实现

    这篇文章再讲3种方式,同时讲4中进程间通信的方式一、 Python 中线程间通信的实现方式共享变量共享变量是多个线程可以共同访问的变量。在Python中,可以使用threading模块中的L
  • 微软邀请 Microsoft 365 商业用户,测试视频编辑器 Clipchamp

    8 月 1 日消息,微软近日宣布即将面向 Microsoft 365 商业用户,开放 Clipchamp 应用,邀请用户通过该应用来编辑视频。微软于 2021 年收购 Clipchamp,随后开始逐步整合到 Microsof
  • Temu起诉SHEIN,跨境电商战事升级

    来源 | 伯虎财经(bohuFN)作者 | 陈平安日前据外媒报道,拼多多旗下跨境电商平台Temu正对竞争对手SHEIN提起新诉讼,诉状称Shein“利用市场支配力量强迫服装厂商与之签订独家
  • OPPO K11搭载高性能石墨散热系统:旗舰同款 性能凉爽释放

    日前OPPO官方宣布,将于7月25日14:30举办新品发布会,届时全新的OPPO K11将正式与大家见面,将主打旗舰影像,和同档位竞品相比,其最大的卖点就是将配备索尼
Top