javascript防抖
发表于|更新于
|浏览量:
JavaScript防抖:用于防止重复表单提交等场景
点击一次后,执行防抖函数antiShake,按钮设置为不可用状态,开始计时,计时结束移除不可用状态
1 | <button onclick="antiShake(this)">防抖测试</button> |
顺带聊聊
1 | //计时器清零,参数需传入计时器的返回值 |
相关推荐
2020-08-19
js使用for in取动态key参数
It’s a nice day for coding,isn’t it?Ha ha! 今天遇到一种服务端响应的参数,key是动态的 就像这样 我们一般静态key取值就是直接 1data.data.id.username 但这种id是动态的 我们就只能用for in的方式取值了 12345678var data = { "msg": "查询成功!", "code": 200, "data": { "2f793b1baf4b441c99a12d22af6678aa": { "username": "ruben2", "password": null, "userInfo": null, "genderEnum": null }, "59fa61fe88b64df58568a7046f17ab38": { &qu...
2023-08-17
vuepress获取所有页面frontmatter
倘若没有骄傲的思想,人将不成其为人,他自身的弱点会使他蜕化为禽兽。——高尔基 今天实现了vuepress中获取所有页面的frontmatter frontmatter是页面的页头信息,例如: 12345---title: xxxauthor: 作者date: 2023-08-17--- 可以编写一个插件: 12345678910111213module.exports = (options, context) => ({ extendPageData($page) { const { pages } = context; // 获取除首页外的其他所有页面的 frontmatter 数据 const frontmatters = pages .filter(page => page.path !== '/') .map(page => page.frontmatter); // 将 frontmatter 数组传递给首页的 frontmatter ...
2026-04-04
twenty
学习是劳动,是充满思想的劳动。——乌申斯基 Twenty:社区驱动的“现代 Salesforce 替代品”,一位把 CRM 做成开源作品的理想主义者Twenty 走进来时,先把名片递给你: Building a modern alternative to Salesforce, powered by the community. 它不是冷冰冰的销售系统,更像一位有脾气、有追求的“客户关系管家”:不想再让 CRM 变成昂贵的牢笼,也不愿意让用户的数据被锁在黑箱里。它想做的是——用开源和社区把 CRM 这件事重新写一遍。 它还会抬起头,认真地补一句身份宣言: The #1 Open-Source CRM Why Twenty:它为什么非要“重做 CRM”?Twenty 讲理由时不绕弯,三句话,像三根钉子钉在桌面上。 1)CRMs 太贵了,而且用户被困住了传统 CRM 的套路太熟练:把客户数据锁住,然后涨价。Twenty 不认这个理,它的态度是:不该这样。 2)体验需要一次真正的“重启”Twenty 觉得老世界的 CRM 已经背了太多历史包袱。它要一个 fresh sta...
2024-09-18
vue2使用vite过渡
君子藏器与身,待时而动。——佚名 项目介绍 vite-plugin-vue2 是一个 Vite 插件,专门用于在 Vite 项目中支持 Vue 2。Vite 是一个基于 ES Module 的现代构建工具,它以极速启动、模块热替换(HMR)和极快的构建速度而闻名。然而,Vite 最初只支持 Vue 3,而 vite-plugin-vue2 插件使得开发者能够在不升级到 Vue 3 的情况下,继续享受 Vite 的高效开发体验。 通过这个插件,开发者可以在 Vue 2 项目中体验到 Vite 的快速启动、热重载和高效打包,而无需迁移到 Vue 3。这为那些已经深度使用 Vue 2 的项目提供了极大的便利。 主要特点: Vue 2 支持:在 Vite 项目中使用 Vue 2,无需进行复杂的配置或迁移。 现代开发体验:支持 Vite 的快速启动、热模块替换(HMR)、高效的编译和打包。 兼容性:与现有的 Vue 2 项目无缝集成,不影响现有代码库的运行。 GitHub地址 GitHub 仓库:vitejs/vite-plugin-vue2 官方文档提供了详...
2020-09-08
vue阻止默认事件
有一天,当回顾自己走过的路时,你会发现这些奋斗不息的岁月,才是最美好的人生。——弗洛伊德 今天写一个页面的时候,遇到一个问题 这是一个简单的elementUI的折叠面板 我在自定义标题里加了个el-link标签,执行一个函数,打印一句话 代码 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566<!-- --><template> <div class ref="message"> <el-collapse v-model="activeName" accordion> <el-collapse-item name="1"> <template slot="title"> 一致性 C...
2022-06-23
overflow和动态计算高度
人们总会找到某种带头人,把他供奉起来,培养成伟人……暴君就是这么来的;暴君最初都是以保护者的形象出现的。——柏拉图,《理想国》 首先是MDN:https://developer.mozilla.org/zh-CN/docs/Web/CSS/overflow 其中对overflow进行了描述: CSS 属性 overflow 定义当一个元素的内容太大而无法适应 块级格式化上下文 时候该做什么。它是 overflow-x 和overflow-y的 简写属性 。 重点在这里: 为使 overflow 有效果,块级容器必须有一个指定的高度(height或者max-height)或者将white-space设置为nowrap。 那问题来了,我这里有一个折叠面板 我希望这里多个折叠面板每一项的头部都能显示在页面中,并且其子项能够适应屏幕高度和折叠情况变化 为了实现上面的效果,我们需要在每一个折叠面板子项中设置overflow-y:auto,然后给其设置height或者max-height 我们知道css中有个计算函数calc可以计算我们的高度,这里的卡片为了保证屏幕自适应,可...
