前端工具库
经常用到日期格式化
、url参数转对象
、浏览器类型判断
、节流函数
等常用函数,为避免不同项目多次复制粘贴的麻烦,
这里统一封装,并发布到npm,以提高开发效率。
安装使用
- 直接下载
min
目录下的[pytools.min.js]使用,支持UMD通用模块规范 - 使用npm安装
浏览器:
<script src="pytools.min.js"></script>
<script>
var OS = pytools.getOS()
</script>
npm:
$ npm install --save-dev pytools
webpack、RequireJS、SeaJS等
// 完整引入
ES5
const pytools = require('pytools')
ES6
import pytools from 'pytools'
推荐使用方法
按需引入函数
ES5
// 只引入部分方法('pytools/min/<方法名>')
const getOS = require('pytools/min/getOS')
const OS = getOS()
ES6
// 只引入部分方法('pytools/min/<方法名>')
import getOS from 'pytools/min/getOS'
API文档
Array
[arrayEqual][arrayEqual] 判断两个数组是否相等
[sortByTarget][sortByTarget] 数组根据数组对象中的某个属性值进行排序的方法
[shuffle][shuffle] 数组随机排序
Class
[addClass][addClass] 为元素添加class
[hasClass][hasClass] 判断元素是否有某个class
[removeClass][removeClass] 为元素移除class
Cookie
[getCookie][getCookie] 根据name读取Cookie
[removeCookie][removeCookie] 根据name删除Cookie
[setCookie][setCookie] 添加Cookie
Device
[getExplore][getExplore] 获取浏览器类型和版本号
[getOS][getOS] 获取操作系统类型
Dom
[getScrollTop][getScrollTop] 获取滚动条距顶部的距离
[offset][offset] 获取一个元素的距离文档(document)的位置,类似jQ中的offset()
[scrollTo][scrollTo] 在${duration}时间内,滚动条平滑滚动到${to}指定位置
[setScrollTop][setScrollTop] 设置滚动条距顶部的距离
[windowResize][windowResize] H5软键盘缩回、弹起回调
Function
[debounce][debounce] 函数防抖
[throttle][throttle] 函数节流
Keycode
[getKeyName][getKeyName] 根据keycode获得键名
Object
[deepClone][deepClone] 深拷贝,支持常见类型
[isEmptyObject][isEmptyObject] 判断Object是否为空
Random
[randomColor][randomColor] 随机生成颜色
[randomNum][randomNum] 生成指定范围随机数
Regexp
[isEmail][isEmail] 判断是否为邮箱地址
[isIdCard][isIdCard] 判断是否为身份证号
[isPhoneNum][isPhoneNum] 判断是否为手机号
[isUrl][isUrl] 判断是否为URL地址
String
[digitUppercase][digitUppercase] 现金额转大写
Support
[isSupportWebP][isSupportWebP] 判断浏览器是否支持webP格式图片
Time
[formatPassTime][formatPassTime] 格式化${startTime}距现在的已过时间
[formatRemainTime][formatRemainTime] 格式化现在距${endTime}的剩余时间
[isSameDay][isSameDay] 判断是否为同一天
Url
[parseQueryString][parseQueryString] url参数转对象
[stringfyQueryString][stringfyQueryString] 对象序列化
[getQueryString][getQueryString] 获取导航栏参数值