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

神奇的进度条!水缸进度动画效果怎么实现的?

来源: 责编: 时间:2024-07-25 08:58:56 651观看
导读最近看到一个非常有趣的动画效果:水波进度动画,想了一下实现思路,分享给大家~效果如下图片图片基本组件代码先把最基础的组件代码样式写出来,其实无非就是四个部分:1、圆形水缸2、水波2、百分比数字3、进度条我们先把圆形

最近看到一个非常有趣的动画效果:水波进度动画,想了一下实现思路,分享给大家~NNj28资讯网——每日最新资讯28at.com

效果如下NNj28资讯网——每日最新资讯28at.com

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

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

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

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

基本组件代码

先把最基础的组件代码样式写出来,其实无非就是四个部分:NNj28资讯网——每日最新资讯28at.com

1、圆形水缸NNj28资讯网——每日最新资讯28at.com

2、水波NNj28资讯网——每日最新资讯28at.com

2、百分比数字NNj28资讯网——每日最新资讯28at.com

3、进度条NNj28资讯网——每日最新资讯28at.com

我们先把圆形水缸、百分比数字、进度条画出来,水波待会再画NNj28资讯网——每日最新资讯28at.com

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

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

可以看到初步效果已经出来了!NNj28资讯网——每日最新资讯28at.com

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

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

水波效果

最重点的就是水波,其实这个水波就是个障眼法罢了,我画张图你们就懂了,其实就是一个圆角正方形,一直在旋转和上升下降,让用户有一种水波的视觉感~NNj28资讯网——每日最新资讯28at.com

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

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

所以我们可以画一个圆角正方形,并且让他一直旋转即可NNj28资讯网——每日最新资讯28at.com

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

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

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

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

并且我们要让这个水波效果,随着百分比的增加而上升,随着百分比的减少而下降,所以得监听百分比NNj28资讯网——每日最新资讯28at.com

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

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

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

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

现在可以发现已经有水波效果了!NNj28资讯网——每日最新资讯28at.com

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

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

但是感觉水溢出来了,所以需要给水缸设置一下溢出隐藏!NNj28资讯网——每日最新资讯28at.com

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

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

最终实现效果:NNj28资讯网——每日最新资讯28at.com

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

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

完整代码

<template>  <div class="wave-container">    <!-- 水缸 -->    <div class="main">      <!-- 百分比数字 -->      <div class="main-number">{{ percent }}</div>      <!-- 水波效果 -->      <div ref="wave" class="wave"></div>    </div>    <!-- 进度条 -->    <Slider v-model:value="percent" class="percent-bar" :tipFormatter="null" />  </div></template><script setup lang="ts">import { ref, watch } from 'vue';import { Slider } from 'ant-design-vue';const percent = ref(0);const wave = ref<HTMLDivElement | null>(null);// 监听百分比,计算 topwatch(  percent,  v => {    const waveEle = wave.value;    if (waveEle) {      waveEle.style.top = `${200 * (1 - v / 100)}px`;    }  },  {    immediate: true,  },);</script><style scoped lang="less">.wave-container {  display: flex;  flex-direction: column;  align-items: center;  .main {    position: relative;    width: 200px;    height: 200px;    border-radius: 50%;    background: #fff;    border: #fff solid 5px;    display: flex;    justify-content: center;    align-items: center;    // 增加样式隐藏溢出    overflow: hidden;    .main-number {      font-size: 100px;      z-index: 1;      user-select: none;    }  }  @keyframes rotateAnimation {    from {      transform: rotate(0deg);    }    to {      transform: rotate(360deg);    }  }  .wave {    position: absolute;    top: 200px;    width: 400px;    height: 400px;    background: rgb(168, 168, 231);    border-radius: 40%;    animation: rotateAnimation 2s linear infinite;  }  .percent-bar {    width: 200px;    background: #fff;  }}</style>

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

本文链接:http://www.28at.com/showinfo-26-103361-0.html神奇的进度条!水缸进度动画效果怎么实现的?

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

上一篇: C# 开发技巧:轻松监控方法执行耗时

下一篇: WPF中轻松操控GIF动画:WpfAnimatedGif库详解

标签:
  • 热门焦点
  • 从 Pulsar Client 的原理到它的监控面板

    背景前段时间业务团队偶尔会碰到一些 Pulsar 使用的问题,比如消息阻塞不消费了、生产者消息发送缓慢等各种问题。虽然我们有个监控页面可以根据 topic 维度查看他的发送状态,
  • 分享六款相见恨晚的PPT模版网站, 祝你做出精美的PPT!

    1、OfficePLUSOfficePLUS网站旨在为全球Office用户提供丰富的高品质原创PPT模板、实用文档、数据图表及个性化定制服务。优点:OfficePLUS是微软官方网站,囊括PPT模板、Word模
  • 一篇文章带你了解 CSS 属性选择器

    属性选择器对带有指定属性的 HTML 元素设置样式。可以为拥有指定属性的 HTML 元素设置样式,而不仅限于 class 和 id 属性。一、了解属性选择器CSS属性选择器提供了一种简单而
  • 破圈是B站头上的紧箍咒

    来源 | 光子星球撰文 | 吴坤谚编辑 | 吴先之每年的暑期档都少不了瞄准追剧女孩们的古偶剧集,2021年有优酷的《山河令》,2022年有爱奇艺的《苍兰诀》,今年却轮到小破站抓住了追
  • 2天涨粉255万,又一赛道在抖音爆火

    来源:运营研究社作者 | 张知白编辑 | 杨佩汶设计 | 晏谈梦洁这个暑期,旅游赛道彻底火了:有的「地方」火了&mdash;&mdash;贵州村超旅游收入 1 个月超过 12 亿;有的「博主」火了&m
  • ESG的面子与里子

    来源 | 光子星球撰文 | 吴坤谚编辑 | 吴先之三伏大幕拉起,各地高温预警不绝,但处于厄尔尼诺大&ldquo;烤&rdquo;之下的除了众生,还有各大企业发布的ESG报告。ESG是&ldquo;环境保
  • iQOO Neo8系列今日官宣:首发天玑9200+ 全球安卓最强芯!

    在昨日举行的的联发科新一代旗舰芯片天玑9200+的发布会上,iQOO官方也正式宣布,全新的iQOO Neo8系列新品将全球首发搭载这款当前性能最强大的移动平台
  • iQOO Neo8系列或定档5月23日:首发天玑9200+ 安卓跑分王者

    去年10月,iQOO推出了iQOO Neo7系列机型,不仅搭载了天玑9000+,而且是同价位唯一一款天玑9000+直屏旗舰,一经上市便受到了用户的广泛关注。在时隔半年后,
  • Counterpoint :OPPO双旗舰战略全面落地 高端产品销量增长22%

    2023年6月30日,全球行业分析机构Counterpoint Research发布的《中国智能手机高端市场白皮书》显示,中国智能手机品牌正在寻求高质量发展,中国高端智能
Top