热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

前端例程20220728:按钮点击涟漪效果

本文主要介绍关于前端,css3,javascript的知识点,对【前端例程20220728:按钮点击涟漪效果】和【PPT如何制作文字涟漪切换效果】有兴趣的朋友可以看下由【NaisuXu】投稿的技术文

本文主要介绍关于前端,css3,Javascript的知识点,对【前端例程20220728:按钮点击涟漪效果】和【PPT如何制作文字涟漪切换效果】有兴趣的朋友可以看下由【Naisu Xu】投稿的技术文章,希望该技术和经验能帮到你解决你所遇的WEB与JS相关相关技术问题。

PPT如何制作文字涟漪切换效果

演示

前端例程20220728:按钮点击涟漪效果

代码

    DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="token punctuation">"> <title>按钮点击涟漪效果
      title> <style> * {
        padding: 0; margin: 0; user-select: none; } html, body {
        height: 100vh; } 
       style> <style> body {
         display: flex; background-color: #222222; align-items: center; justify-content: center; } button {
         width: 200px; height: 80px; margin: 20px; border-radius: 40px; border: none; font-size: 30px; color: rgba(255, 255, 255, 0.5); } button:focus {
         outline: none; } button:nth-child(1) {
         background: linear-gradient(to right, #0365CA, #4FDEF8); } button:nth-child(2) {
         background: linear-gradient(to right, #DD72AB, #F0B6DA); } 
        style> <style> /* button position=relative / span position=absolute 结合使用 */ button {
          position: relative; /* 隐藏button中超出button边界的元素 */ overflow: hidden; } /* 使用span元素作为水波 */ /* 点击按钮时会在点击位置生产水波 */ /* 水波生成后从小到大扩散 */ button span {
          position: absolute; background: white; pointer-events: none; border-radius: 50%; /* 使水波中心点位置保持不变 */ transform: translate(-50%, -50%); animation: animate 1s linear; } /* 尺寸和透明度动画效果 */ @keyframes animate {
          0% {
          width: 0px; height: 0px; opacity: 0.5; } 100% {
          width: 400px; height: 400px; opacity: 0; } } 
         style> <script> window.onload = () => {
           const buttons = document.querySelectorAll('button'); buttons.forEach(btn => {
           btn.addEventListener('click', function (e) {
           // 计算点击位置 // 结合button position=relative / span position=absolute,这里得到的位置为相对button的位置 let x = e.offsetX; let y = e.offsetY; // 创建水波元素 let ripple = document.createElement('span'); ripple.style.left = `${
            x}px`; ripple.style.top = `${
            y}px`; this.appendChild(ripple); // 水波扩散一定时间后删除 setTimeout(() => {
           ripple.remove(); }, 1000) }) }) }; 
          script> 
           head> <body> <button>BUTTON
            button> <button>BUTTON
             button> 
              body> 
               html> 

本文《前端例程20220728:按钮点击涟漪效果》版权归Naisu Xu所有,引用前端例程20220728:按钮点击涟漪效果需遵循CC 4.0 BY-SA版权协议。


推荐阅读
  • javascript分页类支持页码格式
    前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
  • 如果应用程序经常播放密集、急促而又短暂的音效(如游戏音效)那么使用MediaPlayer显得有些不太适合了。因为MediaPlayer存在如下缺点:1)延时时间较长,且资源占用率高 ... [详细]
  • 第二十五天接口、多态
    1.java是面向对象的语言。设计模式:接口接口类是从java里衍生出来的,不是python原生支持的主要用于继承里多继承抽象类是python原生支持的主要用于继承里的单继承但是接 ... [详细]
  • 一篇文章搞定css3 3d效果
    css33d学习心得卡片反转魔方banner图首先我们要学习好css33d一定要有一定的立体感通过这个图片应该清楚的了解到了x轴y轴z轴是什么概念了。首先先给大家看一个小 ... [详细]
  • JUC(三):深入解析AQS
    本文详细介绍了Java并发工具包中的核心类AQS(AbstractQueuedSynchronizer),包括其基本概念、数据结构、源码分析及核心方法的实现。 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • 本文详细介绍了如何使用Python中的smtplib库来发送带有附件的邮件,并提供了完整的代码示例。作者:多测师_王sir,时间:2020年5月20日 17:24,微信:15367499889,公司:上海多测师信息有限公司。 ... [详细]
  • 解决Parallels Desktop错误15265的方法
    本文详细介绍了在使用Parallels Desktop时遇到错误15265的多种解决方案,包括检查网络连接、关闭代理服务器和修改主机文件等步骤。 ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • 技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统
    技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统 ... [详细]
  • PTArchiver工作原理详解与应用分析
    PTArchiver工作原理及其应用分析本文详细解析了PTArchiver的工作机制,探讨了其在数据归档和管理中的应用。PTArchiver通过高效的压缩算法和灵活的存储策略,实现了对大规模数据的高效管理和长期保存。文章还介绍了其在企业级数据备份、历史数据迁移等场景中的实际应用案例,为用户提供了实用的操作建议和技术支持。 ... [详细]
  • 这篇文章将为大家详细讲解有关如何使用JavaScript动态设置CSS3属性值,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读 ... [详细]
  • importpymysql#一、直接连接mysql数据库'''coonpymysql.connect(host'192.168.*.*',u ... [详细]
  • CentOS 7 中 iptables 过滤表实例与 NAT 表应用详解
    在 CentOS 7 系统中,iptables 的过滤表和 NAT 表具有重要的应用价值。本文通过具体实例详细介绍了如何配置 iptables 的过滤表,包括编写脚本文件 `/usr/local/sbin/iptables.sh`,并使用 `iptables -F` 清空现有规则。此外,还深入探讨了 NAT 表的配置方法,帮助读者更好地理解和应用这些网络防火墙技术。 ... [详细]
  • 在Linux系统中避免安装MySQL的简易指南
    在Linux系统中避免安装MySQL的简易指南 ... [详细]
author-avatar
手机用户2502919831
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有