首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在按钮上显示表情符号动画然后在颤动中消失

要在按钮上显示表情符号动画并在颤动中消失,可以使用HTML、CSS和JavaScript来实现。以下是一个完整的示例:

HTML

代码语言:txt
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Emoji Animation</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <button id="emojiButton" class="emoji-button">😊</button>
    <script src="script.js"></script>
</body>
</html>

CSS (styles.css)

代码语言:txt
复制
.emoji-button {
    font-size: 3rem;
    padding: 10px 20px;
    border: none;
    background: none;
    cursor: pointer;
    transition: transform 0.3s ease;
}

.emoji-button:hover {
    transform: scale(1.1);
}

@keyframes shake {
    0% { transform: translate(1px, 1px) rotate(0deg); }
    10% { transform: translate(-1px, -2px) rotate(-1deg); }
    20% { transform: translate(-3px, 0px) rotate(1deg); }
    30% { transform: translate(3px, 2px) rotate(0deg); }
    40% { transform: translate(1px, -1px) rotate(1deg); }
    50% { transform: translate(-1px, 2px) rotate(-1deg); }
    60% { transform: translate(-3px, 1px) rotate(0deg); }
    70% { transform: translate(3px, 1px) rotate(-1deg); }
    80% { transform: translate(-1px, -1px) rotate(1deg); }
    90% { transform: translate(1px, 2px) rotate(0deg); }
    100% { transform: translate(1px, -2px) rotate(-1deg); }
}

.shake-animation {
    animation: shake 0.5s;
}

JavaScript (script.js)

代码语言:txt
复制
document.getElementById('emojiButton').addEventListener('click', function() {
    this.classList.add('shake-animation');
    setTimeout(() => {
        this.classList.remove('shake-animation');
    }, 500);
});

解释

  1. HTML: 创建一个按钮元素,并为其添加一个ID以便在JavaScript中引用。
  2. CSS:
    • 定义按钮的基本样式,包括字体大小、内边距和鼠标悬停效果。
    • 创建一个名为shake的关键帧动画,用于实现颤动效果。
    • 定义一个类.shake-animation,当应用到元素上时,会触发颤动动画。
  • JavaScript:
    • 为按钮添加点击事件监听器。
    • 当按钮被点击时,添加.shake-animation类以触发动画。
    • 使用setTimeout在动画结束后移除该类,以便按钮恢复原状。

应用场景

这种动画效果常用于用户交互界面,特别是在需要吸引用户注意或提供即时反馈的场景中。例如:

  • 游戏界面:玩家完成某个动作后的奖励提示。
  • 社交媒体:用户发送消息后的表情符号反馈。
  • 教育应用:用户完成某个任务后的鼓励动画。

通过这种方式,可以增强用户体验,使界面更加生动有趣。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【Flutter】自定义滚动开关

该演示视频展示了如何在颤动中创建自定义滚动开关。它显示了自定义滚动开关如何在flutter应用程序中使用lite_rolling_switch包工作。...它显示了在用户按下按钮后进行的切换交互,该开关将滚动到具有动画效果的另一侧,并且在滚动该开关时将更改图标和文本。...**animationDuration:**此属性用于动画完成一个周期应花费的时间。 **colorOn:**此属性用于在开关打开时显示颜色。...*我们将添加textOn是字符串' Yes '表示当开关打开时,文本将显示在按钮上;当textOff是字符串' No '意味着当开关关闭时,文本将显示在按钮上。...我们将添加colorOn表示,当开关处于打开状态时,颜色将显示在按钮上;当colorOff意味着当开关处于关闭状态时,颜色将显示在按钮上。

33.4K60

ISUX「八月」行业设计趋势速递

且会与新的按钮动画相结合,当点击播放 / 暂停按钮或前进后退按钮时,它们会有新的动画,动画感觉非常优美和流畅,并提供了很好的细节。 ...十五、Telegram更新了互动表情  Telegram此次更新包括:自定义动画表情符号、交互式自定义表情符号、iOS上的新贴纸、Gif和表情符号面板、赠送Telegram Premium 作为礼物的能力以及语音消息的新隐私设置等等...当在输入框输入信息时,贴纸按钮将变成一个表情按钮,点击即打开表情符号面板,因此用户可以快速浏览并添加自己上传的表情包。...2、新增了一批可交互式表情  Telegram在表情制作中投入了很多精力,在新版本中又新增了一批可交互式的emoji表情,当用户发送出去后,好友点击即自动播放表情符号的全屏效果。...全新的「水生设计」,从水在自然界中的运动方式汲取灵感,进一步增强了UI和动画在视觉上的流畅与包容性。在界面、图标、按钮颜色上也用了大量的蓝色,呼应“水”的主题。

3.6K10
  • Win10新添实用功能,你发现了吗?

    这不,在最新的 Windows 10 预览版中,微软终于带来了 Windows 10X 系统的三个新的闪亮功能,在近期推出的Build 20206 预览版中已经开始测试,有些人已经体验上了,你发现了吗?...表情符号选取 在 Build 20206 中,微软在 Windows 10 中为部分用户启用了至少三个新功能,其中包括遵循微软 Fluent 设计原则的改版表情符号选取器。 ?...在语言设置的位置可以调出触摸键盘按钮。新的键盘具有更新的键位大小和布局,加上任务栏上的新键盘按钮,可以在任何 PC 上调用虚拟键盘。 ? ? ? ? ?...触控键盘更符合微软更新的 Fluent Design 原则,它还配备了一个内嵌式搜索框,并支持动画 GIF、表情等。...从截图来看,启用触摸键盘之后,拼音键盘有很多种显示形式,你可以直接选取常用的数学公式符号,也可以只要拼音字母全键盘,完全根据自己的使用需求来设定就好。

    81420

    Flutter 中的 Shimmer 动画效果

    处理向用户传递信息正在加载的一种主流方法是在不准确的加载物质类型的形状上显示带有微光动画的铬色调。 在在这篇博客中,我们将探索 Flutter 中的 Shimmer 动画效果。...有多种方法可以显示这种效果。在这种情况下,我们通常会在加载信息后对与第一个小部件完全相似的小部件进行动画处理。 此演示视频展示了如何在颤动中创建微光动画效果。...它显示代码何时成功运行,然后显示内容正在从虚拟数据加载是带有持续时间的微光动画效果,然后加载完成然后内容将显示在您的设备上。...特性 微光动画效果有一些属性: **baseColor:**显示在 Widget 上的 Shimmer 的基本颜色。这种颜色是必不可少的,因为子小部件将采用这种颜色。...我们还将在 appBar() 上添加一个刷新按钮以获得微光效果。

    6.2K20

    仿iOS底部弹框实现及分析

    在项目开发中,有时候需要仿照ios的底部弹框做效果 作者博客 http://www.jianshu.com/u/5aad180d1ea8 文章目录 弹框布局 实现弹框 弹框从下而上显示 弹框的点击事件...1 弹框布局: 我们可以来看下这个弹框有哪些显示: 标题(一个标题) ? 选项(N个选项,此处图片只有关闭这一个选项) ? 底部一个取消按钮(一个取消按钮) ?...3 弹框从下而上显示: 我们看过ios的弹框效果,是从底部从下而上升起,然后消失的时候也是从上而下消失。...所以消失的时候我们不能单纯的让DialogFragment执行dismiss(),而是先让弹框执行下移的动画效果,然后再dismiss()。...从原来的位置,增加了自身高度的距离为起始点,开始移动,然后再回到原来的位置。 消失动画: 只要跟上面反过来就可以了。

    1.9K10

    项目需求讨论 — 用Transition做一个漂亮的登录界面

    新的Lollipop api更进了一步,让单独的view也可以在进入或者退出其布局容器中时发生动画效果,甚至还可以在不同的activity/Fragment中共享一个view。...然后在startActivity的时候,通过optionsCompat.toBundle()把内容带到了第二个Activity中。...(所以动画是在第二个Activity中完成的,只是按钮的起始状态是以第一个Activity传过来的按钮的状态信息相同,然后到最终用户设置的位置。)...我们可以看到,共享元素变换并不是真正实现了两个activity或者Fragment之间元素的共享,实际上我们看到的几乎所有变换效果中(不管是B进入还是B返回A),共享元素都是在B中绘制出来的。...其他参考文章: 曲线运动-1 曲线运动 - 2 第三步fab按钮动画结束后出现注册界面: 我们上一步对fab按钮设置了过渡的动画。

    1.8K20

    巧用 transition 实现短视频 APP 点赞动画

    在各种短视频界面上,我们经常会看到类似这样的点赞动画: 非常的有意思,有意思的交互会让用户更愿意进行互动。 那么,这么有趣的点赞动画,有没有可能使用纯 CSS 实现呢?...随机设置不同的表情符号,共 50 个 ... 当然,我个人觉得这样太麻烦。...就会是这样: 好,我们结合一下上面两个动画: 我们将所有的表情,默认的透明度改为 0.1 被点击的时候,透明度变成 1 透明度在 1 维持一段时间,逐渐消失 代码如下: @for $i from 1...所以上面代码中修改缓动 cubic-bezier(.46,.53,.51,.62) 的目的也是在于,让元素动画前期运动更快,这样可以有利于适配更快的点击速率。...这个硬要解决也可以,通过再叠加一层透明元素在按钮上方,通过层级关系屏蔽掉点击事件。 表情的随机只是伪随机 利用 SASS 随机的方案在经过编译后是不会产生随机效果的。

    75510

    Vue.js动画在项目使用的两个示例

    第一个动画示例: 这其实是一个很常见的弹出层效果,鼠标点击按钮切换弹出层的显示,点击其他区域弹出层消失,用javascript绑定事件可能几行代码就搞定了,但是vue.js的状态驱动模式和javascript...的事件驱动模式是不同的,下面是使用vue.js的实现方式: 鼠标点击button会切换一个布尔值show,用show来控制弹出层的显示,而包裹着标签的弹出层在show的状态改变时就会触发动画...相对于jQuery来说,vue.js的动画效果完全带来了一种全新的体验。 那么如何点击其他区域让弹出层消失呢? 首先想到的是直接阻止按钮和弹出层的事件冒泡,然后给document绑定事件让弹出层消失。...然后想到可以检验事件的target,如果target不是按钮和弹出层就可以让弹出层消失,这也是用jQuery 的常用写法,那么关键点就是用vue.js定位到按钮和弹出层,vm....vue-router,因为vue-router在每次切换路由的过程中,都会自动销毁(destroyed)前面的组件,这样在频繁的操作中页面也不会卡,而且vue-router也定义了页面切换过程中的过渡动画

    14.3K51

    Flutter 入门指北之路由

    上一节撸了个界面,虽然比较简单,但是把前面讲的知识串联了下,但是界面之间的跳转一直没说,这节就讲下 Flutter 中的「路由」来管理界面。...,消失了,消失了,我们可以试下点击返回按键,发现 App 直接退出了,也就是说,BPage 替代了 APage 在堆栈中的位置。...,界面来到 CPage,然后发现还是没有返回按钮,没有返回按钮,没有返回按钮,点击下返回按键,然后发现 App 直接退出了,退出了,退出了,那么堆栈变化如图 ?...所对应的 page 上的所有都 pop 出堆栈,如果把参数换成 /page_b,然后在跳转 CPage 之前加入更多的界面,点击 CPage 的返回按钮,就会回到 BPage pop 在 BPage...CASE 3 通过系统返回按钮传值 在 CASE 2 情况下,通过按钮对返回事件进行监听,那加入我们需求没有这个按钮,只能通过系统默认的返回按钮,或者物理返回按键,那该如何传值呢,这里就需要用 WillpopScope

    81720

    苹果Clips这个神剪辑软件,我们抢先体验了一把

    另外也可以在原来的视频中,加入照片、音乐,或者新录制的视频,总之自由度相当高,就看你的创意如何了。   ...实际上Clips有个录制锁,按下红色按钮并向左滑动,可将其锁定在录制位置,再按就停止录制。   是不是觉得表情符号不够用?...其实Clips可以添加任何表情符号,只需添加一个现有的表情符号,然后用标准表情符号键盘选择新的表情符号,之后新的表情符号就会出现了。   ...要添加即时字幕,但却不不同步录制语音,只需点击麦克风按钮将其静音,然后再进行录制,即使在麦克风静音的情况下,即时字幕还是会出现。   ...录好的即时字幕也可以改,首先点击一个包含即时字幕的片段,然后在即时字幕的文字出现在屏幕上时暂停,这时就可以修改字幕内容了。

    1.6K20

    Godot3游戏引擎入门之八:添加可收集元素和子场景

    先构思一下金币在游戏世界中的表现:有一个金币,它闪耀在世界的某个角落,如果有幸被玩家拾取,将会播放一段动画,然后消失于人间!...按上图中的操作步骤:先给 Area2D ( Coin )添加一个空脚本,然后点击发出信号的节点 Area2D ( Coin ),在 Node 面板的 Signals 下显示了 Area2D 节点的所有信号种类...当金币被玩家收集后,也就是发生碰撞的时刻,金币发出信号,在代码中处理信号让金币消失——运行消失动画。运行游戏,测试!...貌似一切 OK ,实际上这里潜伏了一个大问题:硬币被收集后虽然表面上看不见,但实际上并没从场景中消失!...在动画面板中,插入一个新的轨道: Call Method Track 即方法调用轨道,然后选择目标为 Coin 根节点;创建轨道后,在动画的最后插入一个新的关键帧,弹出 Select Method 方法选择框

    1.9K30

    MNKit - 业务开发中简化属性设置的工具类

    接下来,简单介绍一个我在实际开发中抽取出来的工具类 - MNKit MNButton 业务开发中,UIButton控件应该算最常用的控件之一了,而且它的属性设置还贼麻烦,很多个都是要用 [ set...SVProgressHUDMaskTypeClear - 不可交互,界面颜色不变 提示框如何只显示文字,不显示图片 。...[SVProgressHUD showImage:nil status:titleStr]; image参数传空即可 提示框如何设置动画(进场离场) 。...离场动画(SV提示框要在界面上消失的时候 +(void)setFadeOutAnimationDuration:(NSTimeInterval)duration MNSVProgressClass中,...是有动画效果,延迟加载的,如果网络请求过快(1s以内就请求成功),可能会导致提示框一直在界面上出现 ---- 因为有一些我封装的工具类可能就我们现在这种项目中用得到,如果有需要或者以后迭代过程中可以通过外部参数控制的

    1.6K80

    Unity Demo教程系列——Unity塔防游戏(六)动画(Lively Enemies)

    (创建按钮) 由于尚未对立方体设置动画,因此Animation 窗口将显示create按钮。...(Animator 视图) 1.2 录制动画 要记录移动动画,请选择Cube,然后在Animation窗口中按红点记录按钮。我们将创建一个持续时间为一秒的简单反弹动画。将时间线移至0:30,代表半秒。...之后,将时间线移至1:00,将垂直位置设置回0.25,然后再次按录制按钮以停止录制。 ? (位置的三个关键帧) 你可以通过按录制按钮右边稍微一点的播放动画按钮来预览动画。 ?...首先配置以设置动画状态,为此我们需要一个Animator组件和动画配置。第二播放开始播放,第三停止播放停止。 ? 在Enemy中,Recycle停止播放,然后在Initialize中开始播放。...这不会恢复过渡效果,但是过渡纯粹是装饰性的,无论如何在热重载期间游戏都会冻结。 ? 如果Enemy.GameUpdate无效,它现在需要先恢复动画,然后再执行其他任何操作。 ?

    2.3K20

    最新iOS设计规范十|5大拓展程序(Extensions)

    在某些设备上,即使在使用自定义键盘时,“表情符号/地球”键和“听写”键也会自动出现在键盘下方。您的应用程序不会影响这些键,因此请在键盘上重复输入,以免引起混淆。 考虑在您的应用中提供键盘教程。...通过在您的应用中(而不是在键盘本身中)提供使用说明,使入门过程更容易。告诉人们如何启用键盘,在输入文本时将其激活,使用它,然后切换回标准键盘。...尽管它们在屏幕上不可见,但是图像名称和其他文本标签使VoiceOver可以听得见地描述贴纸,从而使视力障碍者的导航更加轻松。 通过动画增加活力。...尽管贴图可以是静态图像,但动画贴图是在对话中传递能量的好方法。确保使用足够高的帧频以保持运动流畅。 测试放置的可能性。用户可以缩放,旋转和在对话的各个部分上放置贴纸。...用户在点击页面中的操作按钮,会显示带有共享扩展和操作扩展的活动视图。该活动视图只会显示与当前内容相关的扩展。例如:在编辑视频时,你不会看到文本类的操作按钮。

    3.2K10

    iOS动画系列之六:利用CABasic Animation完成带动画特效的登录界面1. 画风突变的笑脸2. 心跳3. iOS实践:实现一个带动效的登录界面

    然后咱们再一点点说。...我们所写的所有的动画都是在block中编写的。 通常在block里面我们为了避免造成循环引用,都使用weakSelf替代self进行修饰。...3,在登录界面的viewWillAppear方法中,先把两个输入框还有按钮的位置都修改了,不然做动画的时候咱们才能让这些控件移动到正确的位置上嘛。 4,在viewDidAppear方法中,实现动画。...把两个输入框的位置放到正确地方,同时让登录按钮显示出来。 5,实现登录按钮点击事件:这里模拟的是登录失败的状况,按钮会进行晃动。...4,在登录失败交互的时候记得关闭、打开交互效果。不让在动画的播放过程中可以不停的点击登录按钮,如果动画播放时间比较长,这个动画时间是会累加的?。

    1.6K60

    自定义键盘(二)

    笔者认定炒股app中的自定义键盘的实现思路应该也是封装然后关联输入框。...二需求 我们如何能封装一个没有耦合性的自定义键盘,笔者能想到的需求如下: 动态添加到任何布局中 解决和系统键盘显示冲突 动态绑定系统输入框 有show和hide动画,让键盘显示更加优雅 没有耦合,使用方便...,尽可能让原生属性有效 键盘特殊按钮监听 解决键盘覆盖输入框的问题 点击非键盘,非输入框区域,让键盘消失。...,让键盘显示更加优雅 这无非是系统的View动画,实现起来比较简单 3.5没有耦合,使用方便,尽可能让原生属性有效 这就需要我们用EditText,获取他的属性,然后根据属性去设置键盘的变换 3.6键盘特殊按钮监听...模式是输入英文字母 android:inputType="number" 复制代码 4.3点击非键盘和焦点区域,让键盘消失 重写activity的方法,然后调用隐藏键盘方法 @Override public

    97520

    【Android】属性动画的使用理解

    题主也还是个初学者,当初也是觉得这很简单啊,然后自己做的时候却出现了各种问题。下面就来讲讲题主做的过程中碰到的一些问题吧。 1、平移的距离如何确定?...先来看那个竖直收缩/扩展的效果,每个控件都平移到最底下控件的位置,然后消失。有时候我们的需求就是这样,不要求将控件全部移出屏幕,只移到某个指定位置,然后消失之类的。...但这里还能继续用写死的固定值吗,显然不行,那么就需要我们在代码中动态的来计算两个控件之间的距离,然后再来确定控件应该平移的距离。...我们来将代码稍微做些改动,先复制上面代码,然后把300.0f改成200.0f,然后把复制的这个动画绑定到其他按钮(如下图的FAB)上,这样当我们先点击FAB,再点击按钮本身,也就是先启动平移200f动画...然后再点击按钮本身时,代码意思是将控件从当前位置平移到距离最初位置300的地方,但此时控件的位置并不是在最初的位置,而是已经经过一次平移,处于距离最初位置200的地方,当前控件要平移到300的地方,只需要再平移

    1.1K30

    零基础入门 15: UGUI Button

    按钮对于一个应用或者游戏来说。必不可少,今天这篇分享,来说下UGUI里的按钮,Button组件。 ? 进入正题 ---- 打开Unity,在场景中创建一个Button,来看下他身上的自带组件。...如上图,我们进行了几个操作,首先把默认Image增加一个贴图默认显示,选择iu0,然后切换按钮动画为Sprite Swap,分别为高亮、按住、以及Disabled三种状态增加要切换的图片。...如下图,默认灯光亮的,点击按钮后灯光隐藏。 ? 相信大家也都看见了,Button这个对象下面还有一个默认叫做Text的对象,代表了按钮上要显示的文字。 ?...接下来,我们创建一个脚本,来通过脚本对按钮进行一些操作。 还是老路子,创建脚本,创建Button对象,将脚本拖到Canvas上。在Unity里创建按钮,然后将Unity的按钮拖动到脚本上进行关联。...然后我们切回Unity看下运行效果。如上图代码,我们把按钮的组件设置为False,所以Button组件的对勾就消失了,然后我们把交互也设置成了false,所以交互前面的对勾也是没有的。颜色为空色。

    1.8K31
    领券