跳动文字的实现

简介: 跳动文字的实现

效果图

image.png

页面结构

我们将#app盒子铺满整个屏幕,将#bounce作为承载跳动文字的盒子

<div id="app">
        <ul id="bounce"></ul>
    </div>

样式

清除元素的默认内外边距,将#app盒子铺满全屏后,利用flex布局将内容位列在屏幕正中心

* {
            margin: 0;
            padding: 0;
            list-style: none;
        }
        #app {
            width: 100vw;
            height: 100vh;
            display: flex;
            justify-content: center;
            align-items: center;
            background: #000;
        }

跳动文字动画实现

跳动文字的动画,我们采用csstransform: translateY属性进行实现,通过这个属性实现元素的上下移动,动画终点时元素向上移动30px

/* 跳动动画 */
        @keyframes jump {
            100% {
                transform: translateY(-30px);
            }
        }

跳动文字

给跳动文字的大盒子flex布局将内容水平垂直居中,跳动文字每一个都占一个元素,这样便于动画进行,然后再给跳动文字盒子设置字体大小和样式,再给跳动文字盒子添加上跳动动画,开启动画无限循环以及可以反向播放动画,开启反向动画可以让动画执行完成之后可以进行反向播放,这样不会出现动画执行完之后元素突然回到初始位置

/*跳动大盒子 */
        #bounce {
            display: flex;
            justify-content: center;
            align-items: center;
        }
           /* 跳动盒子 */
        #bounce>li {
            margin-right: 10px;
            font-size: 30px;
            color: #fff;
            font-weight: bold;
            animation: jump 0.6s linear infinite alternate;
        }

跳动文字逻辑实现

我们将要跳动的文字放到str变量中,speed是动画的执行速度,我们默认是0.5s,然后通过js方法获取到跳动文字父级,然后通过js方法把我们的跳动文字分割成数组,在进行循环,每次循环都会创建一个dom元素,将跳动的每一个文字,都插入到新创建的dom元素中,并且设置一下动画执行时间,我们这里需要套入公式(当前跳动文字的长度- 当前元素的下标 * 默认的动画执行速度),动画执行时间是负数,最后插入到跳动文字父级中即可

let str = '中秋快乐!';
        let speed = 0.5;
        let bounce = document.getElementById('bounce');
        str.split('').map((R, index) => {
            let lis = document.createElement('li');
            lis.innerText = R;
            lis.style = `animation-delay: -${parseFloat((str.length - index) * speed)}s;`
            bounce.appendChild(lis)
        })

代码放到码上掘金上了,感兴趣的大家可以看一下!

image.png

相关文章
|
前端开发 网络协议 JavaScript
|
前端开发 数据可视化 JavaScript
【第50期】一文读懂React可视化
【第50期】一文读懂React可视化
274 0
webpack 使用打包报错 ERROR in node_modules\@types\node\ts4.8\assert.d.ts
webpack 使用打包报错 ERROR in node_modules\@types\node\ts4.8\assert.d.ts
1004 1
|
6月前
|
监控 搜索推荐 应用服务中间件
全面解析301重定向:从原理到实践指南
本文深入解析301重定向的工作原理及其在SEO优化和用户体验维护中的核心作用,涵盖定义、应用场景、全平台配置指南及避坑建议。通过技术定义、六大场景解决方案、高频错误案例分析以及效果验证方法,帮助读者全面掌握301重定向的实施技巧。文章提供14个可复用代码片段,基于百万级网站数据优化建议,并配套可视化监控方案,助力网站流量保全与无缝过渡。
374 5
|
12月前
|
消息中间件 Java 调度
Spring Boot 3.3 后台任务处理的高效策略
【10月更文挑战第18天】 在现代应用程序中,后台任务处理对于提升用户体验和系统性能至关重要。Spring Boot 3.3提供了多种机制来实现后台任务处理,包括异步方法、任务调度和使用消息系统。本文将探讨这些机制的最佳实践,帮助开发者提高应用程序的效率和响应速度。
217 0
|
11月前
|
存储 UED
「Mac畅玩鸿蒙与硬件33」UI互动应用篇10 - 数字猜谜游戏
本篇将带你实现一个简单的数字猜谜游戏。用户输入一个数字,应用会判断是否接近目标数字,并提供提示“高一点”或“低一点”,直到用户猜中目标数字。这个小游戏结合状态管理和用户交互,是一个入门级的互动应用示例。
250 7
「Mac畅玩鸿蒙与硬件33」UI互动应用篇10 - 数字猜谜游戏
|
存储 边缘计算 数据管理
数据库技术的革新与变革:塑造未来数据管理的新趋势
一、引言 随着信息技术的飞速发展,数据库技术作为数据管理的基础,也在不断革新与变革
1422 0
|
前端开发
CSS动画新技巧:打造阴影上下抖动的视觉效果!
CSS动画新技巧:打造阴影上下抖动的视觉效果!
|
存储 弹性计算 安全
阿里云服务器8核16G配置最新收费标准和活动价格整理与分享
阿里云服务器8核16G的价格并不是一成不变的,而是跟云服务器实例规格、带宽、云盘、地域等因素有关,另外收费标准和活动价格也会随时做出调整,所以阿里云服务器8核16G多少钱这个问题并没有一个标准的统一答案。目前阿里云服务器8核16G的最低活动价格是2849.76元1年,下面小编就跟大家介绍一下阿里云服务器8核16G配置的最新收费标准与活动价格情况。
阿里云服务器8核16G配置最新收费标准和活动价格整理与分享
|
JavaScript
如何在Vue页面中引入img下的图片作为背景图。../的使用
这篇文章介绍了在Vue页面中如何引入`img`目录下的图片作为背景图,提供了两种使用相对路径的方法。第一种是使用`../assets/img/`作为路径引入图片,第二种是使用`../../assets/img/`作为路径。文章还展示了使用这些方法的代码实现和效果展示,并鼓励读者学无止境。
如何在Vue页面中引入img下的图片作为背景图。../的使用