首页 > 其他分享 >代码实现一个爱心逐渐放大再缩小的循环的特效

代码实现一个爱心逐渐放大再缩小的循环的特效

时间:2024-12-18 11:33:31浏览次数:6  
标签:特效 false heart isEnlarged 代码 transform isShrunk 爱心

要实现一个爱心逐渐放大再缩小的循环特效,你可以使用HTML、CSS和JavaScript。以下是一个简单的实现:

  1. HTML:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>爱心动画</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <div id="heart" class="heart"></div>
    <script src="script.js"></script>
</body>
</html>
  1. CSS (styles.css):
.heart {
    position: relative;
    width: 100px;
    height: 90px;
    background: red;
    transform: scale(1);
    transition: transform 1s ease-in-out;
    clip-path: polygon(
        50% 0%,
        100% 50%,
        50% 100%,
        0% 50%
    );
}

.heart.enlarged {
    transform: scale(1.2);
}

.heart.shrunk {
    transform: scale(0.8);
}

注意:clip-path 用于创建一个简单的爱心形状。你可以根据需要调整它或使用更复杂的SVG路径来创建一个更逼真的爱心形状。
3. JavaScript (script.js):

document.addEventListener('DOMContentLoaded', function() {
    const heart = document.getElementById('heart');
    let isEnlarged = false;
    let isShrunk = false;
    
    setInterval(() => {
        if (!isEnlarged) {
            heart.classList.add('enlarged');
            isEnlarged = true;
            isShrunk = false;
        } else if (!isShrunk) {
            heart.classList.remove('enlarged');
            heart.classList.add('shrunk');
            isEnlarged = false;
            isShrunk = true;
        } else {
            heart.classList.remove('shrunk');
            isShrunk = false;
        }
    }, 1000); // 每秒变化一次
});

这个简单的示例使用了CSS的transform: scale()来改变爱心的大小,并通过JavaScript来循环添加和删除CSS类,从而实现放大和缩小的效果。你可以根据需要调整动画的持续时间、放大和缩小的比例等。

标签:特效,false,heart,isEnlarged,代码,transform,isShrunk,爱心
From: https://www.cnblogs.com/ai888/p/18614428

相关文章

  • 【matplotlib 库画雷达图】你知道怎么用python画雷达图、蜘蛛网图?对于精度展示、模型
    【matplotlib库画雷达图】你知道怎么用python画雷达图、蜘蛛网图?对于精度展示、模型对比非常重要。附代码及解释。【matplotlib库画雷达图】你知道怎么用python画雷达图、蜘蛛网图?对于精度展示、模型对比非常重要。附代码及解释。文章目录【matplotlib库画雷达图】......
  • 自动化测试工具Ranorex Studio(六十四)-使用2.X代码模块
    适配2.X数据驱动录制模块新的Ranorex录制器允许你在还没写代码的时候添加变量。这些变量可以与动作条目属性绑定或者可以用于RanoreXPath表达式。可以从下面的章节中获取更多的相关信息:课程3:数据驱动测试。你可以容易的按下面的方式来适配已经存在的数据驱动测试录制模块:......
  • 零基础在Windows电脑用代码跑一个自己的本地大模型
    零基础在Windows电脑用代码跑一个自己的本地大模型环境1.1下载Windows版本的Anaconda1.2在微软商店中下载python(打开微软商店,搜索python下载3.10版本即可)1.3在pycharm中下载模型下载运行大模型环境确保当前电脑有python3环境如果没有可以选择下载Windows版本的A......
  • 【代码随想录】刷题记录(76)-子集
    题目描述:给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例1:输入:nums=[1,2,3]输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]示例2:输入:nums=[0]输出:[[......
  • 【时间序列分析】肯德尔(Kendall)相关系数基础理论及python代码实现
    文章目录1.肯德尔(Kendall)相关系数定义2.什么是秩相关系数3.计算方法4.示例及代码实现4.1示例4.2python代码实现5.优缺点6.适用范围7.与斯皮尔曼相关系数比较8.思考8.1当变量中有重复值时肯德尔(Kendall)相关系数是如何计算的?1.肯德尔(Kendall)相关系数定义......
  • 代码中对字符串的常用操作有哪些?
    在编程中,字符串处理指的是对字符串(由字符组成的序列)进行的各种操作,包括但不限于查找、修改、分割、连接、格式化等。字符串是编程中非常常见的数据类型之一,几乎所有的编程语言都提供了内建的方法和函数来简化字符串的处理。常见的字符串处理操作描述1. 字符串查找描述:在字......
  • zblog登录后台密码忘记怎么办?附代码
    重置密码文件<?phprequire'./zb_system/function/c_system_base.php';//$zbp->Load();if(isset($_GET['uid'])&&isset($_GET['resetpw'])){$id=(int)$_GET['uid'];$m=$zbp->GetMemberByID($id)......
  • 程序员都解决不了的问题“找不到vcruntime140.dll,无法继续执行代码”要怎么解决?“缺失
    电脑运行疑难杂症大揭秘:如何应对“找不到vcruntime140.dll,无法继续执行代码”的困扰?在探索数字世界的旅途中,每位软件开发者和电脑用户都可能遭遇过各式各样的系统报错与文件问题。今天,我们就来深入探讨一个常见却让人头疼的错误——“找不到vcruntime140.dll,无法继续执行代码......
  • 调试Debug,读,写 GPIO 寄存器(含实例代码)
    以STM32G070CBT6PA8为例注:下面调试界面的打开方式为下面图中调试界面中的寄存器仅用于指明具体位置,并不代表实际的实验现象本文涉及寄存器的读写操作,不熟悉的可以移步STM32寄存器读写操作-CSDN博客MODER寄存器GPIOA->MODER作用:配置PA8的......
  • 深入理解 Node.js 模块系统:构建高效、可维护的 JavaScript 代码
    摘要:Node.js的模块系统是其强大功能的核心之一,它允许开发者将代码组织成模块化的结构,从而提高代码的可维护性和重用性。本文将深入探讨Node.js模块系统的各个方面,包括模块概述、成员导出与导入、ModuleWrapperFunction以及Node.js内置模块,帮助你更好地理解和利用这......