手把手教你用 transition 实现短视频 APP的点赞动画

1. 简介

随着移动互联网的发展,短视频 APP 已经成为了人们生活中不可或缺的一部分。在短视频 APP 中,点赞是用户交互中非常重要的一部分,如何让用户更直观感受到点赞所带来的喜悦和乐趣,就成了开发者们需要解决的问题。本文将手把手教你使用 CSS 的 transition 属性,实现短视频 APP 中点赞动画的效果。

2. 实现效果分析

在短视频 APP 中,用户为视频点赞时,通常会出现一个点赞动画效果,以提示用户点赞成功。这个点赞动画效果通常具有以下特点:

2.1 图标变化

点赞操作后,图标通常会先做一个缩小的动画,然后立即变成点赞后的图标,如图所示:

为此,我们需要通过 CSS 给点赞后的图标设置一些属性,例如旋转、放大、颜色变化等。同时,我们可以使用 transform 属性,实现图标的缩小和恢复放大效果。

2.2 数字变化

点赞操作后,视频下方的点赞数量通常也会相应地增加一个,如图所示:

为此,我们需要使用 JavaScript 或其他框架捕捉用户的点赞操作,通过 AJAX 获得服务器返回的点赞数量,再使用 JavaScript 将当前展示的点赞数量增加一。同时,我们还需要使用 CSS 的 transition 属性,让数字的变化更加自然流畅。

3. 代码实现

我们先来看一下 HTML 的代码结构:

<div class="like-btn">

<i class="icon-like"></i>

<span class="like-num">100</span>

</div>

其中,<i> 标签用来展示点赞图标,<span> 标签用来展示点赞数量。

接着,我们来添加 CSS 样式:

.like-btn {

display: inline-block;

position: relative;

cursor: pointer;

}

.icon-like {

display: inline-block;

width: 24px;

height: 24px;

background: url(like.png) no-repeat;

background-size: cover;

transition: transform 0.2s ease-in-out;

}

.like-num {

display: inline-block;

margin-left: 10px;

font-size: 14px;

font-weight: bold;

color: #666;

transition: color 0.2s ease-in-out;

}

我们给点赞图标的 <i> 标签设置了一些属性,包括宽度、高度、背景、transform 过渡效果等,以展示缩小和变化的效果。同时,我们定义了数字样式的转场效果,当数字变化时,颜色也会随之变化。

最后,我们使用 JavaScript 实现点赞事件,并通过 AJAX 获得返回的点赞数量:

// 获取 DOM 节点

var likeBtn = document.querySelector('.like-btn');

var likeIcon = document.querySelector('.icon-like');

var likeNum = document.querySelector('.like-num');

// 点赞事件

likeBtn.addEventListener('click', function() {

// 通过 AJAX 获得返回的点赞数量,此处省略

var newNum = likeNum.innerText + Number(1);

// 设置点赞图标缩小效果

likeIcon.style.transform = 'scale(0.8)';

likeIcon.style.webkitTransform = 'scale(0.8)';

// 数字变化效果

likeNum.style.color = '#ff6a6a';

// 500ms 后恢复点赞图标的放大效果

setTimeout(function() {

likeIcon.style.transform = 'scale(1)';

likeIcon.style.webkitTransform = 'scale(1)';

}, 500);

// 300ms 后恢复数字颜色

setTimeout(function() {

likeNum.innerText = newNum;

likeNum.style.color = '#666';

}, 300);

});

当用户点击点赞按钮后,我们通过 AJAX 获得返回的点赞数量 newNum,同时设置了图标缩小效果和数字变化效果。通过 setTimeout() 方法,我们分别控制了点赞图标和数字样式恢复的时间,以实现更加自然流畅的动画效果。

4. 总结

本文通过对短视频 APP 点赞动画的分析,以及 CSS 和 JavaScript 的运用,实现了点赞效果。事实上,我们可以通过更多复杂的动画效果,让用户感受到更加丰富的交互体验。希望本文对初学者有所帮助,同时也能够鼓励大家去探索更多创意和想象力,打造出更好的用户体验。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。