随笔分类 - JS
1
javascript相关内容
摘要:JS 金额逗号分隔保留两位小数 //判断是否数字 function isNumber(num) { return (num + "").match(/^[-]?\d+[.]?\d*$/g); } function eraseThousandSplit(num) { num = "" + num; r
阅读全文
摘要:判断是否有滚动条 const scrollDom = document.getElementById('滚动元素id') if (!scrollDom) return if (scrollDom.clientHeight scrollDom.scrollHeight) { // 没有滚动条 } 判断
阅读全文
摘要:`addEventListener(type, func, opts)` - `type`就是监听的类型,如`scroll`、`touchstart`等; - `func`执行的方法; - `opts`可以是`Boolean`和`Object`; `Boolean`表示什么阶段执行,false:冒泡
阅读全文
摘要:转File文件 // data为blob文件流数据;fileName为文件名称,带后缀;type为文件类型,如'application/pdf'、'image/png'等 const filePDF = new File([data], fileName, { type }) 下载 /** * 下载
阅读全文
摘要:/** * 关闭子页面 * @param {*} reflash 是否刷新父页面 */ export function closeChildPage(reflash) { if (reflash) window.opener.parent.location.reload() // 刷新父页面 win
阅读全文
摘要:/** * 截至日期格式示例:2022-06-02 15:00:00 * true:到了截止时间,false:未到截止时间 */ export function getDeadline(str) { const myDate = new Date() const year = myDate.getF
阅读全文
摘要:// 处理精度问题,有小数点保留两位,没有取整数值 priceFilter(val) { val = Math.round(val * 100) / 100 const valStr = val.toString() if (valStr.indexOf('.') -1) return Number
阅读全文
摘要:生成二维码,扫码跳转网址 import QRCode from 'qrcode' // <canvas ref="myCanvas" style="width: 160px; height: 160px;"/> this.$nextTick(() => { // jumpUrl为跳转的网址,myCa
阅读全文
摘要:JS getClientRects 和 getBoundingClientRect() getClientRects获取元素占据页面的所有矩形区域 getBoundingClientRect该方法用于计算获取的dom元素各边与上、左容器边框之间的距离,返回一个对象{ left, top, right
阅读全文
摘要:/** * input框限制小数 * @param {*} val * @returns */ export const inputLimitFloat = function(val) { val = val.toString() // 截取可能为负号 // const t = val.charAt
阅读全文
摘要:Date.prototype.format = function (format) { var o = { 'M+': this.getMonth() + 1, // month 'd+': this.getDate(), // day 'h+': this.getHours(), // hour
阅读全文
摘要:计算滚动条是否滑倒底部 document.documentElement.scrollTop + document.documentElement.clientHeight >= document.documentElement.scrollHeight 滚动的高度加上窗口的高度 可能会碰到某个手机
阅读全文
摘要:常见正则 手机号 /^1\d{10}$|^[2-9]\d{6,7}$|^[48]00\d{7}$|^[19]\d{4}$|^1\d{2}$/; 邮箱 /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0
阅读全文
摘要:这里的解决方法是安卓监听窗口高度,iOS监听文本块焦点,以实现隐藏与显示底部固定定位元素 // 以下为vue2的写法 // originHeight为窗口高度,当键盘弹出时,android手机会改变,监听变化控制下方固定按钮是否显示 // ios手机input框聚焦键盘弹出,键盘收起时,input框
阅读全文
摘要:需求:代码逻辑需要axios调接口返回后根据具体值再做判断 一个流程需要调多个接口判断执行,axios不提供同步执行 // await后面的Promise可以改为需要调用的接口,通过接口的返回值赋值给resolveValue,最后返回Promise包裹的resolveValue // 条件1 asy
阅读全文
摘要:用对象控制父与子的展开折叠 const isShowCard = { card1: { value: true, // 父 subCard1: true, // 子1 subCard2: true // 子2 }, card2: { value: true, // 父 subCard1: true,
阅读全文
摘要:计算文本要占用多少行 // 使用document.createRange()计算文本行数,实际length会比行数多一 const range = document.createRange() range.selectNode(document.getElementById('domRef')) /
阅读全文
摘要:添加左划删除手势 // 添加左划手势,通过添加swipeleft类实现 addSwipeLeft() { // 侧滑显示删除按钮 var expansion = null // 是否存在展开的list var container = document.getElementById('shopCard
阅读全文
摘要:抛出小球加到地方对应元素晃动(加入购物车动画) /* * 添加到购物车动画 脚本,涉及到键盘弹出时,动画需要延迟100ms执行,以保证键盘已经弹回去,页面元素位置不变 * */ /** * * 动画轨迹控制 * @param addBtnDom 增加按钮的dom元素或者选择器 * @param sh
阅读全文
摘要:vue 添加监听事件addEventListener // vue 添加监听事件,addEventListener第二个参数要绑在this上,即需要在methods中声明,否则销毁的时候会报错 // 在mounted中监听,在beforeDestroy中销毁,绑定的事件在methods中声明 mou
阅读全文
1