您现在的位置是:网站首页> 编程资料编程资料
CSS利用pointer-events防止重复点击的方法实例详解CSS pointer-events属性的使用css3 pointer-events 介绍详解使用CSS的pointer-events属性实现鼠标穿透效果的神奇技巧css中pointer-events属性详解CSS的pointer-events属性详细介绍(作用和注意事项)css pointer-events属性实现下面元素可点击css不常见属性之pointer-events的使用方法
2021-09-04
1060人已围观
简介 这篇文章主要给大家介绍了关于CSS利用pointer-events防止重复点击的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者理解具有一定的参考学习价值,感兴趣的朋友们下面跟着小编来一起学习学习吧。
前言
我们在前端总会遇到重复点击的问题,由于网络的原因,用户不能及时得到反馈,就很可能会选择再点击一次,
所以这个时候就会向后端发送两次重复的请求,这样就很可能会导致严重的问题,尤其是在发 post的时候,就可能会增加两条重复的数据。
之前我一般遇到这种情况都会在 js 的请求前做一个 canRequest 变量,由于请求是异步的,所以在请求开始后我就会将该变量设置为 false, 当请求结束后,无论成功还是失败都要将该变量设置为 true, 简单代码如下:
var canRequest = true function postData () { if (!canRequest) return fetch(url) .then(res => { canRequest = true }) .catch(e => { canRequest = true }) canRequest = false }这样做并没有什么毛病,不过考虑到一般点击后还需要将按钮置灰,所以我找到了个从 css 层面上就阻止重复点击的方式。
下面是个获取短信验证码的示例:
获取验证码
body { display: flex; height: 100vh; } #count { margin: auto; padding: 10px; width: 100px; border: 1px solid; text-align: center; cursor: pointer; border-radius: 4px; } .disable { pointer-events: none; color: #666; } const count = document.getElementById('count') const tip = count.textContent count.onclick = e => { console.log(111) count.classList.add('disable') count.textContent = 10 var id = setInterval(() => { count.textContent-- if (count.textContent <= 0) { count.classList.remove('disable') count.textContent = tip clearInterval(id) } }, 1000) }注意: 对于 pointer-events 不了解的请查看这篇文章
demo链接:点击这里
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
相关内容
- 浅谈CSS3特性查询(Feature Query: @supports)功能简介css3中transform属性实现的4种功能详解CSS3.0(Cascading Style Sheet) 层叠级联样式表纯CSS3实现div按照顺序出入效果CSS3实现列表无限滚动/轮播效果css3 利用transform-origin 实现圆点分布在大圆上布局及旋转特效CSS3实现的侧滑菜单CSS3实现的3D隧道效果用CSS3画一个爱心css3 实现文字闪烁效果的三种方式示例代码六种css3实现的边框过渡效果
- CSS优先级计算的规则css优先级计算方法(推荐)详解CSS中的选择器优先级顺序详解CSS中的选择器优先级及样式层叠问题解决CSS z-index 层级关系优先级的概念CSS优先级的两种理解方式
- css3旋转木马_动力节点Java学院整理 HTML5+css3:3D旋转木马效果相册
- css3边框_动力节点Java学院整理 css3图片边框border-image的用法CSS3实现内凹圆角的实例代码CSS3圆角边框和边界图片效果实例 CSS3实现多重边框的方法总结详解CSS3的box-shadow属性制作边框阴影效果的方法详解CSS的border边框属性及其在CSS3中的新特性6种非常炫酷的CSS3按钮边框动画特效深入浅析css3 border-image边框图像详解Css3圆角边框制作代码css3圆角边框和边框阴影示例
- 使用 css3 实现圆形进度条的示例css 进度条的文字根据进度渐变的示例代码利用css3实现进度条效果及动态添加百分比css 横向进度条和竖向进度条实现代码利用CSS3实现进度条的两种姿势详解使用CSS实现阅读进度条css 实现圆形渐变进度条效果的示例代码
- CSS自适应导航菜单的实例代码纯CSS实现兼容IE7及以上宽度自适应无限级导航菜单附演示
- 纯CSS设置Checkbox复选框控件的样式(五种方法)HTML+CSS实现单选框、复选框美观的样式11种炫酷CSS3复选框checkbox样式美化特效源码CSS自定义绿色复选框按钮样式一波CSS的Checkbox复选框样式代码分享9款样式迷人的CSS3自定义Checkbox复选框特效源码CSS定义Radio单选项和Checkbox复选框样式有效代码
- css3学习系列之移动属性详解利用纯CSS3实现文字向右循环闪过效果实例(可用于移动端) 利用CSS3实现平移动画效果示例代码CSS3解决移动页面上点击链接触发色块的问题 移动端Web页面的CSS3 flex布局快速上手指南像素密度与CSS3的viewport在移动端Web响应式布局中的运用CSS3实现超慢速移动动画效果非常流畅无卡顿用css3实现当鼠标移进去时当前亮其他变灰效果css3让div随鼠标移动而抖动起来浏览器实现移动端高性能css3动画(开启gpu加速)
- 用CSS3实现无限循环的无缝滚动的实例代码用CSS3实现无限循环的无缝滚动的示例代码 CSS动画实现背景无缝无限循环的实现示例
- 用CSS样式生成搜索、购物车等图标样式(图标字体库)纯CSS3实现带有字体图标效果的灰白色下拉网站导航css设置矢量图字体图标的方法(图解)CSS实现精灵图与字体图标
