
outils




前端业务代码工具库
> 目的:高效率完成前端业务代码
业务开发过程中,会经常用到
日期格式化、
url参数转对象、
浏览器类型判断、
节流函数等常用函数,为避免不同项目多次复制粘贴的麻烦,这里统一封装,并发布到npm,以提高开发效率。如果你也有常用的代码,欢迎为本项目提交pr。
:building_construction: 安装使用
1. 直接下载
min目录下的
outils.min.js使用,支持UMD通用模块规范
2. 使用npm安装
$3
``
html
`
$3
`
bash
$ npm install --save-dev outils
`
webpack、RequireJS、SeaJS等
`
javascript
// 完整引入
const outils = require('outils')
const OS = outils.getOS()
`
推荐使用方法
你真的不需要完整引入所有函数,所以只引入需要使用的方法即可。
`
javascript
// 只引入部分方法('outils/<方法名>')
const getOS = require('outils/getOS')
const OS = getOS()
``
:package: API文档
$3
#### [arrayEqual][arrayEqual] 判断两个数组是否相等
$3
#### [addClass][addClass] 为元素添加class
#### [hasClass][hasClass] 判断元素是否有某个class
#### [removeClass][removeClass] 为元素移除class
$3
#### [getCookie][getCookie] 根据name读取Cookie
#### [removeCookie][removeCookie] 根据name删除Cookie
#### [setCookie][setCookie] 添加Cookie
$3
#### [getExplore][getExplore] 获取浏览器类型和版本号
#### [getOS][getOS] 获取操作系统类型
$3
#### [getScrollTop][getScrollTop] 获取滚动条距顶部的距离
#### [offset][offset] 获取一个元素的距离文档(document)的位置,类似jQ中的offset()
#### [scrollTo][scrollTo] 在${duration}时间内,滚动条平滑滚动到${to}指定位置
#### [setScrollTop][setScrollTop] 设置滚动条距顶部的距离
#### [windowResize][windowResize] H5软键盘缩回、弹起回调
$3
#### [debounce][debounce] 函数防抖
#### [throttle][throttle] 函数节流
$3
#### [getKeyName][getKeyName] 根据keycode获得键名
$3
#### [deepClone][deepClone] 深拷贝,支持常见类型
#### [isEmptyObject][isEmptyObject] 判断Object是否为空
$3
#### [randomColor][randomColor] 随机生成颜色
#### [randomNum][randomNum] 生成指定范围随机数
$3
#### [isColor][isColor] 判断是否为16进制颜色,rgb 或 rgba
#### [isEmail][isEmail] 判断是否为邮箱地址
#### [isIdCard][isIdCard] 判断是否为身份证号
#### [isPhoneNum][isPhoneNum] 判断是否为手机号
#### [isUrl][isUrl] 判断是否为URL地址
$3
#### [digitUppercase][digitUppercase] 现金额转大写
$3
#### [isSupportWebP][isSupportWebP] 判断浏览器是否支持webP格式图片
####
$3
#### [formatPassTime][formatPassTime] 格式化${startTime}距现在的已过时间
#### [formatRemainTime][formatRemainTime] 格式化现在距${endTime}的剩余时间
#### [isLeapYear][isLeapYear] 判断是否为闰年
#### [isSameDay][isSameDay] 判断是否为同一天
#### [timeLeft][timeLeft] 计算${startTime - endTime}的剩余时间
#### [monthDays][monthDays] 获取指定日期月份的总天数
$3
#### [parseQueryString][parseQueryString] url参数转对象
#### [stringfyQueryString][stringfyQueryString] 对象序列化
[arrayEqual]:https://github.com/proYang/outils/blob/master/src/array/arrayEqual.js
[addClass]:https://github.com/proYang/outils/blob/master/src/class/addClass.js
[hasClass]:https://github.com/proYang/outils/blob/master/src/class/hasClass.js
[removeClass]:https://github.com/proYang/outils/blob/master/src/class/removeClass.js
[getCookie]:https://github.com/proYang/outils/blob/master/src/cookie/getCookie.js
[removeCookie]:https://github.com/proYang/outils/blob/master/src/cookie/removeCookie.js
[setCookie]:https://github.com/proYang/outils/blob/master/src/cookie/setCookie.js
[getExplore]:https://github.com/proYang/outils/blob/master/src/device/getExplore.js
[getOS]:https://github.com/proYang/outils/blob/master/src/device/getOS.js
[getScrollTop]:https://github.com/proYang/outils/blob/master/src/dom/getScrollTop.js
[offset]:https://github.com/proYang/outils/blob/master/src/dom/offset.js
[scrollTo]:https://github.com/proYang/outils/blob/master/src/dom/scrollTo.js
[setScrollTop]:https://github.com/proYang/outils/blob/master/src/dom/setScrollTop.js
[windowResize]:https://github.com/proYang/outils/blob/master/src/dom/windowResize.js
[debounce]:https://github.com/proYang/outils/blob/master/src/function/debounce.js
[throttle]:https://github.com/proYang/outils/blob/master/src/function/throttle.js
[getKeyName]:https://github.com/proYang/outils/blob/master/src/keycode/getKeyName.js
[deepClone]:https://github.com/proYang/outils/blob/master/src/object/deepClone.js
[isEmptyObject]:https://github.com/proYang/outils/blob/master/src/object/isEmptyObject.js
[randomColor]:https://github.com/proYang/outils/blob/master/src/random/randomColor.js
[randomNum]:https://github.com/proYang/outils/blob/master/src/random/randomNum.js
[isColor]:https://github.com/proYang/outils/blob/master/src/regexp/isColor.js
[isEmail]:https://github.com/proYang/outils/blob/master/src/regexp/isEmail.js
[isIdCard]:https://github.com/proYang/outils/blob/master/src/regexp/isIdCard.js
[isPhoneNum]:https://github.com/proYang/outils/blob/master/src/regexp/isPhoneNum.js
[isUrl]:https://github.com/proYang/outils/blob/master/src/regexp/isUrl.js
[digitUppercase]:https://github.com/proYang/outils/blob/master/src/string/digitUppercase.js
[isSupportWebP]:https://github.com/proYang/outils/blob/master/src/support/isSupportWebP.js
[formatPassTime]:https://github.com/proYang/outils/blob/master/src/time/formatPassTime.js
[formatRemainTime]:https://github.com/proYang/outils/blob/master/src/time/formatRemainTime.js
[isLeapYear]:https://github.com/proYang/outils/blob/master/src/time/isLeapYear.js
[isSameDay]:https://github.com/proYang/outils/blob/master/src/time/isSameDay.js
[timeLeft]:https://github.com/proYang/outils/blob/master/src/time/timeLeft.js
[monthDays]:https://github.com/proYang/outils/blob/master/src/time/monthDays.js
[parseQueryString]:https://github.com/proYang/outils/blob/master/src/url/parseQueryString.js
[stringfyQueryString]:https://github.com/proYang/outils/blob/master/src/url/stringfyQueryString.js