微信小程序开发交流qq群   173683895

本文共有两个示例,先上图

示例一:  示例二:

示例一代码(微信小程序):

// pages/test/test.js
Page({containerTap: function (res) {var that = thisvar x = res.touches[0].pageX;var y = res.touches[0].pageY + 85;this.setData({rippleStyle: ''});setTimeout(function () {that.setData({rippleStyle: 'top:' + y + 'px;left:' + x + 'px;-webkit-animation: ripple 0.4s linear;animation:ripple 0.4s linear;'});},200)},
})
<view class="ripple" style="{{rippleStyle}}"></view>
<view class="container" bindtouchstart="containerTap"></view>
page{height:100%}
.container{width:100%;height:100%;overflow: hidden
}
.ripple {background-color: rgba(0, 0, 0, 0.6);border-radius: 100%;height:10px;width:10px;margin-top: -90px;position: absolute;-webkit-transform: scale(0);overflow: hidden
}
@-webkit-keyframes ripple {100% {-webkit-transform: scale(12);transform: scale(12);background-color: transparent;}
}

示例二代码(html5)

<!DOCTYPE html>
<html><head><meta http-equiv="Content-Type" content="text/html;charset=utf-8" /><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"><title>点击后水波纹扩散填充组件效果</title><style>.btn {position: relative;width: 13em;height: 3em;margin: 2em;border: none;outline: none;letter-spacing: .2em;font-weight: bold;background: #F6774F;cursor: pointer;overflow: hidden;user-select: none;border-radius: 2px;color: #fff;}.ripple {position: absolute;background: rgba(0, 0, 0, .15);border-radius: 100%;transform: scale(0);pointer-events: none;}.ripple.show {animation: ripple 1s ease-out;}@keyframes ripple {to {transform: scale(2);opacity: 0;}}</style></head><body><h1 class="center mt40">点击后水波纹扩散填充组件效果</h1><div class="main center"><button id="bowen" class="btn ">BUTTON</button></div><script>var addRippleEffect = function(e) {var target = e.target;
//              target 事件属性可返回事件的目标节点(触发该事件的节点)
//              console.log(e.target)if(target.id != 'bowen') return false;
//              如果当前节点的id不等于'bowen',就返回false,停止执行函数var rect = target.getBoundingClientRect();
//              target.getBoundingClientRect() 方法返回元素的大小及其相对于视口的位置。var ripple = target.querySelector('.ripple');
//              target.querySelector()方法返回文档中匹配指定 CSS 选择器的一个元素。console.log(ripple) //这里创建一个ripple节点对象,此时为nullif(!ripple) {ripple = document.createElement('span'); //这里ripple等于<span></span>
//                  document.createElement()在当前节点创建一个标签元素ripple.className = 'ripple';//这里ripple等于<span class="ripple"></span>
//                  给ripple添加一个样式类名ripple.style.height = ripple.style.width = Math.max(rect.width, rect.height) + 'px';//这里height和width是相等的
//                  Math.max(a,b)返回两个指定的数中带有较大的值的那个数。target.appendChild(ripple);//在当前节点添加ripple元素对象
//                  appendChild();  在指定节点添加元素}ripple.classList.remove('show');//移除ripple对象名为的'show' CSS 类
//              classList 属性返回元素的类名,可以使用 add() 和 remove() 方法修改它.该属性用于在元素中添加,移除及切换 CSS 类。var top = e.pageY - rect.top - ripple.offsetHeight / 2 - document.body.scrollTop;var left = e.pageX - rect.left - ripple.offsetWidth / 2 - document.body.scrollLeft;
//              e.pageY 显示鼠标的位置  offsetHeight 获取元素的高度  offsetWidth 获取元素的宽度  scrollTop() 方法返回或设置匹配元素的滚动条的垂直位置。ripple.style.top = top + 'px';ripple.style.left = left + 'px';ripple.classList.add('show');return false;}document.addEventListener('click', addRippleEffect);//addEventListener('事件名称',执行函数)监听事件</script></body></html>

[微信小程序]手指触摸动画效果(完整代码附效果图)相关推荐

  1. 微信小程序转发 分享 打电话功能,完整代码附效果图

    微信小程序开发交流qq群   581478349    承接微信小程序开发.扫码加微信. 正文: 按钮绑定在页面内发起转发事件onShareApp:(注意这里是button 并且给他设置了open-t ...

  2. 微信小程序:地图导航功能实现完整源代码附效果图,讲解

    微信小程序开发交流qq群   173683895    承接微信小程序开发.扫码加微信. 正文: 一:需求及效果图展示 从后端API获取到起始地和目的地的经纬度坐标与地名.用户点击起始地便打开地图展示 ...

  3. [微信小程序]动画,从顶部掉花的效果(完整代码附效果图)

    微信小程序开发交流qq群   173683895    承接微信小程序开发.扫码加微信. 正文: image{ width: 100rpx;height: 100rpx;position: absol ...

  4. 微信小程序学习做动画效果

    微信小程序开发交流qq群   173683895    承接微信小程序开发.扫码加微信. 微信扫码学习,在线指导微信小程序动画效果的实现

  5. 微信小程序 跑马灯效果完整代码附效果图

    微信小程序开发交流qq群   173683895    承接微信小程序开发.扫码加微信. 正文: 一:功能介绍及讲解 实现的跑马灯(跑马灯里面显示文章的title)的效果,并在右侧有个查看文章的按钮, ...

  6. 微信小程序聊天室 前后端源码附效果图和数据库结构图

    微信小程序开发交流qq群   173683895    承接微信小程序开发.扫码加微信. 正文: 122 <!-- <button bindtap='close'>关闭</bu ...

  7. [微信小程序]星级评分和展示(详细注释附效果图)

    微信小程序开发交流qq群   173683895    承接微信小程序开发.扫码加微信. 正文: 星级评分分成两种情况: 一:展示后台给的评分数据   二:用户点击第几颗星星就显示为几星评分; < ...

  8. 微信小程序实现旋转动画效果

    问题 在小程序中,如果可以用一个动画效果展现一句话或一段文字,会比普通文字呈现更具吸引力,这不仅是体现更多样的文字效果,更是突出这段文字的一个方法.那么接下来就来看一下如何实现一个文字旋转的动画效果吧 ...

  9. 微信小程序支付 php后台对接完整代码

    这个代码全是干货呀,拿过来可以直接使用.小程序在调起微信支付之前需要5个参数,这时候就需要携带code向后台请求,然后后台根据code获取openid 再进行服务器之间的.... 一.准备工作 1.小 ...

最新文章

  1. ubuntu 禁用透明大页_Linux关于透明大页的使用与禁用介绍
  2. java循环队列_java实现循环队列(顺序队列)
  3. Seconds_Behind_Master
  4. pthread_cleanup_push与pthread_cleanup_pop的目的、作用
  5. Windows Server 2012 R2/2016 此工作站和主域间的信任关系失败
  6. 英特尔裁员1.2万 CEO还在涨薪?
  7. Collections.unmodifiableMap
  8. 【M17】考虑使用缓式评估
  9. python win32api教程_Python win32api.GetSystemMetrics方法代码示例
  10. java barchart类,JavaFX BarChart条形图颜色
  11. AtCoder Beginner Contest 264笔记
  12. “海大与我“ Scrum Meeting(第十周会议记录)
  13. docker搭建fdfs实现缓存图片视频
  14. html怎么设计关键字,干货分享——关键词如何做标记
  15. 驱动机架的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  16. signature=8b820b86ff12c7f8de8612d678cc5b32,天国拯救控制台秘籍 天国拯救控制台代码一览...
  17. 数学基础:反三角函数
  18. 电脑开机黑屏一串英文_电脑开机黑屏,还出现一串英文字母。
  19. 阿里巴巴校招三面面经
  20. 关于分布式事务、两阶段提交、一阶段提交、Best Efforts 1PC模式和事务补偿机制的研究[转]

热门文章

  1. R语言实战 - 基本统计分析(2)- 频数表和列联表
  2. java代码完全手写模仿qq登录界面
  3. [导入]如何理解Return的返回值?
  4. windows版本下使用xdebug
  5. C#实现类似qq的屏幕截图程序
  6. Assembly学习心得
  7. FFmpeg中可执行文件ffprobe用法汇总
  8. 【Dlib】dlib实现深度网络学习之 input层
  9. 【Git】在本地创建git库管理自己的代码
  10. 【C++】Google C++编码规范(二):类