打破
精准点评纠偏,逻辑框架助力创业闭环,reasoning_content:我们要求以前端开发者的口吻,写一个与“技术、科技”相关,关于[精准点评纠偏,逻辑框架助力,创业构建高效闭环]的标题需要简短精炼,30字以内直接输出标题,不要加说明nn可以结合前端开发者的视角,比如提到代码、框架、调试、闭环等关键词:精准点评纠偏(类似代码review或debug)、逻辑框架(前端的框架如React/Vue等)、创业构建高效闭环(创业中的高效迭代)nn可能的用框架思维纠偏,创业闭环更高效或者前端视角:精准点评拆解逻辑,创业闭环加速但需要更简洁nn尝试:精准点评纠偏,逻辑框架助力创业闭环但字数可能超?数一下:精准点评纠偏,逻辑框架助力创业闭环——共14字,可以但需要体现前端开发者口吻,可以加个“前端”或“代码”?比如:前端精准点评,逻辑框架助创业闭环更好nn或者:用代码Review思维,逻辑框架构建创业闭环但太长nn最终:精准点评纠偏,逻辑框架助创业闭环去掉“助”字?精准点评纠偏,逻辑框架创业闭环有点生硬nn考虑:前端开发:精准点评纠偏,框架思维构建闭环共16字nn或者:精准纠偏,框架赋能,创业高效闭环但少了“点评”?nn我认为:精准点评纠偏,逻辑框架助力创业闭环(15字)符合要求,且直接但需检查是否30字内,肯定是的直接输出
物联网工程师攻略:点评闭环驱动媒体增长,reasoning_content:我们要求以物联网开发工程师的口吻,写一个与技术、科技相关的标题,主题是创业攻略:以点评逻辑驱动媒体运营闭环,突破增长瓶颈需要简短精炼,30字以内nn作为物联网开发工程师,口吻应该带有技术感、编程思维、系统思维可以用一些技术术语如协议、闭环、API、调试、传感器等主题核心是点评逻辑驱动媒体运营闭环,突破增长瓶颈nn可能的标题思路:结合物联网中的反馈循环、数据流、闭环控制等概念例如:用物联网闭环思维,以点评逻辑破局媒体增长,但字数超了需要更精简nn尝试: 点评协议驱动运营闭环,破解增长瓶颈 但缺少物联网工程师口吻加上物联网或IoT等例如:IoT式点评闭环:媒体运营增长攻略 共13字或者物联网工程师的创业攻略:点评闭环破增长 但字数可能超?物联网工程师的创业攻略:点评闭环破增长 共18字,符合nn更简洁:点评闭环+物联网思维,突破增长瓶颈 13字?点评闭环+物联网思维,突破增长瓶颈 14字或者用点评逻辑打造媒体运营闭环,物联网工程师教你突破增长 太长nn最合适: 物联网工程师攻略:点评闭环驱动媒体增长 共18字或者点评逻辑+物联网闭环,突破增长瓶颈 13字注意不要加说明直接输出一个标题nn我选:点评协议驱动媒体运营闭环,破增长瓶颈 但协议有点生硬更好:IoT点评闭环:媒体运营增长攻略 共12字或者物联网开发工程师:点评闭环破增长瓶颈 共16字nn考虑到口吻,可以用程序员或开发者但指定了物联网开发工程师最终输出一个标题我决定用:物联网开发工程师:用点评闭环逻辑破媒体增长 共18字或者更精炼:点评闭环+物联网思维,突破增长 12字但突破增长不够完整nn为了更符合创业攻略,可以加攻略二字 物联网工程师攻略:点评闭环驱动媒体增长 18字直接输出
15 9 月 2026, 周二

CSS如何做一个动画的订阅按钮效果?

订阅按钮在很多应用上都能看到,不同应用的订阅按钮有一定的区别,这篇主要给大家分享类似抖音的动画的订阅按钮效果,具体的效果如下,还是比较美观好看的,那么这样的效果要怎样做呢?

使用jQuery的toggleClass()方法,添加删除类active

分别为原本的和active的元素设置样式,使用css的transition属性,定义变化时间,速度等

使用css的animation为active元素设置变化动画

HTML
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
    <link rel="stylesheet" href="style.css">
    <title>Document</title>
</head>
<body>
    <!– 简单起见,用了div。其实用button也行,需要设置一下样式才好看^_^–>
    <!– 还没有学习<svg>,使用<svg>效果也许会更好–>
    <div id="followBtn">
        <div id="line1"></div>
        <div id="line2"></div>
    </div>
    <script src="index.js"></script>
</body>
</html>

JS
$(function () {    // jQuery入口函数
    $('#followBtn').click(function (e) {    // 绑定点击事件
        $('#followBtn').toggleClass('active');
        $('#line1').toggleClass('active');
        $('#line2').toggleClass('active');
    });
})

CSS
body {
    width: 1024px;
    margin: 0 auto;    /* 居中 */
}

#followBtn {
    position: relative;
    display: block;
    width: 100px;
    height: 100px;
    margin: 100px auto;
    border-radius: 100px;    // 使div变为圆形
    background-color: #ccc;
    transition: all linear .5s;    // 定义样式转换时的过度动画的属性
}

#followBtn.active {
    background-color: crimson;
}

#line1 {
    position: absolute; /*绝对定位,定位基于最近的一个已经定位(relative, absolute, fixed)的祖先元素*/
    left: 25px;
    top: 46px;
    display: block;
    width: 50px;
    height: 8px;
    border-radius: 5px;
    background-color: crimson;
    transition: all linear .5s;
}

#line2 {
    position: absolute;
    left: 25px;
    top: 46px;
    display: block;
    width: 50px;
    height: 8px;
    border-radius: 8px;
    background-color: crimson;
    transform: rotate(90deg);    /* 旋转90度 */
    transition: all linear .5s;
}

#line1.active {
    background-color: #ccc;
    /*触发动画,forwards表示动画结束后,元素样式保留为动画的最后一个关键帧的样式*/
    animation: line1 .5s ease-in-out forwards;
}

#line2.active {
    background-color: #ccc;
    animation: line2 .5s ease-in-out forwards;
}

/* @keyframes定义动画 */
@keyframes line1 {
    50% {
        width: 8px;
        height: 8px;
        left: 20px;
        top: 52px;
        border-radius: 8px;
    }
    100% {
        width: 30px;
        left: 20px;
        top: 52px;
        transform: rotate(45deg);
    }
}

@keyframes line2 {
    50% {
        width: 8px;
        height: 8px;
        border-radius: 8px;
        left: 35px;
    }
    100% {
        width: 50px;
        left: 35px;
        transform: rotate(-45deg);
    }
}

jQuery3以下的版本,不能正确的给修改SVG元素的类。

//.attr()方法对于SVG是有效的,所以如果你必须使用jQuery的话
// 使用
$("#item").attr("class", "oldclass newclass"); // 而不是 .addClass("newclass")
// 使用
$("#item").attr("class", "oldclass"); // 而不是 .removeClass("newclass")
// 原生JS解决办法
var element = document.getElementById("item");
// 使用
element.setAttribute("class", "oldclass newclass");
// 使用
element.setAttribute("class", "oldclass");

以上就是用CSS实现一个动画的订阅按钮效果的介绍,本文只是提供了一种实现思路,代码仅供参考,需要的朋友可以了解看看。

dawei

【声明】:芜湖站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

您错过了

精准点评纠偏,逻辑框架助力创业闭环,reasoning_content:我们要求以前端开发者的口吻,写一个与“技术、科技”相关,关于[精准点评纠偏,逻辑框架助力,创业构建高效闭环]的标题需要简短精炼,30字以内直接输出标题,不要加说明nn可以结合前端开发者的视角,比如提到代码、框架、调试、闭环等关键词:精准点评纠偏(类似代码review或debug)、逻辑框架(前端的框架如React/Vue等)、创业构建高效闭环(创业中的高效迭代)nn可能的用框架思维纠偏,创业闭环更高效或者前端视角:精准点评拆解逻辑,创业闭环加速但需要更简洁nn尝试:精准点评纠偏,逻辑框架助力创业闭环但字数可能超?数一下:精准点评纠偏,逻辑框架助力创业闭环——共14字,可以但需要体现前端开发者口吻,可以加个“前端”或“代码”?比如:前端精准点评,逻辑框架助创业闭环更好nn或者:用代码Review思维,逻辑框架构建创业闭环但太长nn最终:精准点评纠偏,逻辑框架助创业闭环去掉“助”字?精准点评纠偏,逻辑框架创业闭环有点生硬nn考虑:前端开发:精准点评纠偏,框架思维构建闭环共16字nn或者:精准纠偏,框架赋能,创业高效闭环但少了“点评”?nn我认为:精准点评纠偏,逻辑框架助力创业闭环(15字)符合要求,且直接但需检查是否30字内,肯定是的直接输出

物联网工程师攻略:点评闭环驱动媒体增长,reasoning_content:我们要求以物联网开发工程师的口吻,写一个与技术、科技相关的标题,主题是创业攻略:以点评逻辑驱动媒体运营闭环,突破增长瓶颈需要简短精炼,30字以内nn作为物联网开发工程师,口吻应该带有技术感、编程思维、系统思维可以用一些技术术语如协议、闭环、API、调试、传感器等主题核心是点评逻辑驱动媒体运营闭环,突破增长瓶颈nn可能的标题思路:结合物联网中的反馈循环、数据流、闭环控制等概念例如:用物联网闭环思维,以点评逻辑破局媒体增长,但字数超了需要更精简nn尝试: 点评协议驱动运营闭环,破解增长瓶颈 但缺少物联网工程师口吻加上物联网或IoT等例如:IoT式点评闭环:媒体运营增长攻略 共13字或者物联网工程师的创业攻略:点评闭环破增长 但字数可能超?物联网工程师的创业攻略:点评闭环破增长 共18字,符合nn更简洁:点评闭环+物联网思维,突破增长瓶颈 13字?点评闭环+物联网思维,突破增长瓶颈 14字或者用点评逻辑打造媒体运营闭环,物联网工程师教你突破增长 太长nn最合适: 物联网工程师攻略:点评闭环驱动媒体增长 共18字或者点评逻辑+物联网闭环,突破增长瓶颈 13字注意不要加说明直接输出一个标题nn我选:点评协议驱动媒体运营闭环,破增长瓶颈 但协议有点生硬更好:IoT点评闭环:媒体运营增长攻略 共12字或者物联网开发工程师:点评闭环破增长瓶颈 共16字nn考虑到口吻,可以用程序员或开发者但指定了物联网开发工程师最终输出一个标题我决定用:物联网开发工程师:用点评闭环逻辑破媒体增长 共18字或者更精炼:点评闭环+物联网思维,突破增长 12字但突破增长不够完整nn为了更符合创业攻略,可以加攻略二字 物联网工程师攻略:点评闭环驱动媒体增长 18字直接输出