如何制作并使用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; }}

登录后复制

总结:

上面代码我没有复制完整,大家想看源码可以下载看一下

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

推荐阅读:

怎样实现Vue项目中使用Vux

不用JS实现菜单打开关闭

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

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

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

(0)
上一篇 2025年3月8日 05:57:31
下一篇 2025年3月8日 05:57:37

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

相关推荐

  • 怎样进行JS内DOM节点使用

    这次给大家带来怎样进行JS内DOM节点使用,JS内DOM节点使用的注意事项有哪些,下面就是实战案例,一起来看一下。 DOM操作在JS中可以说是非常常见了吧,很多网页的小功能的实现,比如一些元素的增删操作等都可以用JS来实现。那么在DOM中我…

    2025年3月8日
    200
  • 怎样操作vscode内使用.vue代码

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

    2025年3月8日
    200
  • 通过在vue项目中使用ueditor(详细教程)

    下面我就为大家分享一篇vue项目中使用ueditor的实例讲解,具有很好的参考价值,希望对大家有所帮助。 以vue-cli生成的项目为例 1.static文件夹下先放入ueditor文件 2.index.html添加如下代码 登录后复制 立…

    编程技术 2025年3月8日
    200
  • 如何使用Angular5路由传值

    这次给大家带来如何使用Angular5路由传值,使用Angular5路由传值的注意事项有哪些,下面就是实战案例,一起来看一下。 目前Angular已经升级到了稳定版本Angular5,这次升级更小更快以及更稳定!路由可以说是Angular甚…

    编程技术 2025年3月8日
    200
  • 如何使用Vue nextTick

    这次给大家带来如何使用Vue nextTick,使用Vue nextTick的注意事项有哪些,下面就是实战案例,一起来看一下。 export default { data () { return { msg: 0 } }, mounted …

    编程技术 2025年3月8日
    200
  • 怎样进行vue弹窗组件使用

    这次给大家带来怎样进行vue弹窗组件使用,vue弹窗组件使用的注意事项有哪些,下面就是实战案例,一起来看一下。 弹窗是一个项目必备的复用利器,所以封装起来,保证项目ui一致,是很有必要的。学了一段时间vue,想想还是用vue写一下吧。用的很…

    编程技术 2025年3月8日
    200
  • 怎样使用Vue组件

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

    编程技术 2025年3月8日
    200
  • 如何使用vue弹窗消息组件

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

    编程技术 2025年3月8日
    200
  • 怎样操作Vue使用Mint UI实现左滑删除效果CellSwipe

    这次给大家带来怎样操作Vue使用Mint UI实现左滑删除效果CellSwipe,操作Vue使用Mint UI实现左滑删除效果CellSwipe的注意事项有哪些,下面就是实战案例,一起来看一下。 Mint UI 是饿了么开源的,基于 Vue…

    2025年3月8日
    200
  • 如何给微信小程序内添加客服按钮

    这次给大家带来如何给微信小程序内添加客服按钮,给微信小程序内添加客服按钮的注意事项有哪些,下面就是实战案例,一起来看一下。 1. 普通客服按钮添加 客服-联系我们 登录后复制 2. 悬浮客服按钮添加,图片自定义 大家看地图的有个客服图片图片…

    2025年3月8日
    200

发表回复

登录后才能评论