Vue波纹按钮组件使用详解

这次给大家带来Vue波纹按钮组件使用详解,Vue波纹按钮组件使用的注意事项有哪些,下面就是实战案例,一起来看一下。

先说一下用法:

默认按钮默认按钮定义速度和初始的波浪透明度

登录后复制

原理:

这里用的是canvas + requestAnimationFrame(兼容性可以网上找一下解决方法) 绘制的波纹,有些用的是css transform + setTimeout做的,我感觉不太好。

模板(template):

 

登录后复制

点击代码如下(我已经加入详细的注释)

ripple(event) { // 清除上次没有执行的动画 if (this.timer) {  window.cancelAnimationFrame(this.timer); } this.el = event.target; // 执行初始化 if (!this.initialized) {  this.initialized = true;  this.init(this.el); } this.radius = 0; // 点击坐标原点 this.origin.x = event.offsetX; this.origin.y = event.offsetY; this.context.clearRect(0, 0, this.el.width, this.el.height); this.el.style.opacity = this.opacity; this.draw();},

登录后复制

这里主要初始化canvas和获取用户点击的位置坐标,并开始绘制。

循环绘制

draw() { this.context.beginPath(); // 绘制波纹 this.context.arc(this.origin.x, this.origin.y, this.radius, 0, 2 * Math.PI, false); this.context.fillStyle = this.color; this.context.fill(); // 定义下次的绘制半径和透明度 this.radius += this.speed; this.el.style.opacity -= this.speedOpacity; // 通过判断半径小于元素宽度或者还有透明度,不断绘制圆形 if (this.radius  0) {  this.timer = window.requestAnimationFrame(this.draw); } else {  // 清除画布  this.context.clearRect(0, 0, this.el.width, this.el.height);  this.el.style.opacity = 0; }}

登录后复制

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

ES6实现全屏滚动插件步骤详解

vue+vue-router+vuex操作权限

以上就是Vue波纹按钮组件使用详解的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2761782.html

(0)
上一篇 2025年3月8日 09:39:14
下一篇 2025年3月8日 09:39:19

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • vscode里使用.vue步骤详解

    这次给大家带来vscode里使用.vue步骤详解,vscode里使用.vue的注意事项有哪些,下面就是实战案例,一起来看一下。 1.设置.vue模板 打开注意事项,点击文件 —— 首选项 —— 用户代码片段,会弹出来一个输入框。 在输入框输…

    2025年3月8日
    200
  • Angular5路由传参使用详解

    这次给大家带来Angular5路由传参使用详解,Angular5路由传参使用的注意事项有哪些,下面就是实战案例,一起来看一下。 1.问号后面带的参数,获取参数的方式:ActivatedRoute.queryParams[id] 例如:/pr…

    编程技术 2025年3月8日
    200
  • Vue nextTick 机制使用详解

    这次给大家带来Vue nextTick 机制使用详解,Vue nextTick 机制使用的注意事项有哪些,下面就是实战案例,一起来看一下。 我们先来看一段Vue的执行代码: export default { data () { return…

    编程技术 2025年3月8日
    200
  • Vue实现PopupWindow组件使用步骤解析

    这次给大家带来Vue实现PopupWindow组件使用步骤解析,Vue实现PopupWindow组件使用的注意事项有哪些,下面就是实战案例,一起来看一下。 这段时间一直在学习前端技术来完成自己的小项目。在js方面就使用了Vue框架。由于在项…

    2025年3月8日
    200
  • vue弹窗组件使用步骤详解

    这次给大家带来vue弹窗组件使用步骤详解,vue弹窗组件使用的注意事项有哪些,下面就是实战案例,一起来看一下。 ys-vue-modal-component p,h4{ margin:0; } .modal{ width: 480px; b…

    编程技术 2025年3月8日
    200
  • Vue组件使用案例详解

    这次给大家带来Vue组件使用案例详解,Vue组件使用的注意事项有哪些,下面就是实战案例,一起来看一下。 Vue实例 项目启动过程 看一下现在我们的项目,想想整个项目的启动过程是什么(以直接打开index.html的方法访问为例来说明)? 你…

    编程技术 2025年3月8日
    200
  • vue弹窗消息组件使用步骤详解

    这次给大家带来vue弹窗消息组件使用步骤详解,vue弹窗消息组件使用的注意事项有哪些,下面就是实战案例,一起来看一下。 本来打算写一个那种提示完了自动消失的弹窗的,但是没有想好淡入淡出的效果。所以暂时算是半成品。 练习代码如下: ys-al…

    编程技术 2025年3月8日
    200
  • vue2.0调用摄像头步骤详解

    这次给大家带来vue2.0调用摄像头步骤详解,使用vue2.0调用摄像头的注意事项有哪些,下面就是实战案例,一起来看一下。 可以在github 上下载demo链接 vue组件代码                               …

    编程技术 2025年3月8日
    200
  • vue实现移动端微信公众号步骤详解

    这次给大家带来vue实现移动端微信公众号步骤详解,vue实现移动端微信公众号的注意事项有哪些,下面就是实战案例,一起来看一下。 自己用vue做微信公众号项目有一段时间了,遇到各种奇葩的问题,下面细数那些坑: 第一坑:微信分享导致安卓手机无法…

    编程技术 2025年3月8日
    200
  • vue判断dom内class使用情况

    这次给大家带来vue判断dom内class使用情况,vue判断dom内class的注意事项有哪些,下面就是实战案例,一起来看一下。 vue点击给dom添加class然后获取含有class的dom {{item.name}} {{item2.…

    2025年3月8日
    200

发表回复

登录后才能评论