Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/proYang/outils
:rocket: 前端业务代码工具库
https://github.com/proYang/outils
javascript tool utils
Last synced: 9 days ago
JSON representation
:rocket: 前端业务代码工具库
- Host: GitHub
- URL: https://github.com/proYang/outils
- Owner: proYang
- License: mit
- Created: 2017-11-07T07:38:36.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2022-12-06T17:37:01.000Z (almost 2 years ago)
- Last Synced: 2024-10-29T15:27:31.868Z (15 days ago)
- Topics: javascript, tool, utils
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/outils
- Size: 828 KB
- Stars: 2,612
- Watchers: 65
- Forks: 592
- Open Issues: 39
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![outils](https://cdn.slane.cn//outils-logo-2018-11-09_23-12-54.png)](https://github.com/proYang/outils)
# outils
[![npm](https://img.shields.io/npm/v/outils.svg)](https://www.npmjs.com/package/outils)
[![Build Status](https://travis-ci.org/proYang/outils.svg?branch=master)](https://travis-ci.org/proYang/outils)
[![Coverage](https://coveralls.io/repos/github/proYang/outils/badge.svg?branch=master)](https://coveralls.io/github/proYang/outils)
[![LICENSE MIT](https://img.shields.io/npm/l/outils.svg)](https://www.npmjs.com/package/outils)
前端业务代码工具库> 目的:高效率完成前端业务代码
业务开发过程中,会经常用到`日期格式化`、`url参数转对象`、`浏览器类型判断`、`节流函数`等常用函数,为避免不同项目多次复制粘贴的麻烦,这里统一封装,并发布到npm,以提高开发效率。如果你也有常用的代码,欢迎为本项目提交pr。
## :building_construction: 安装使用
1. 直接下载`min`目录下的[outils.min.js](https://github.com/proYang/outils/blob/master/min/outils.min.js)使用,支持UMD通用模块规范
2. 使用npm安装### 浏览器:
``` html
var OS = outils.getOS()
```### npm:
``` 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文档### Array
#### [arrayEqual][arrayEqual] 判断两个数组是否相等### 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
#### [isColor][isColor] 判断是否为16进制颜色,rgb 或 rgba
#### [isEmail][isEmail] 判断是否为邮箱地址
#### [isIdCard][isIdCard] 判断是否为身份证号
#### [isPhoneNum][isPhoneNum] 判断是否为手机号
#### [isUrl][isUrl] 判断是否为URL地址### String
#### [digitUppercase][digitUppercase] 现金额转大写### Support
#### [isSupportWebP][isSupportWebP] 判断浏览器是否支持webP格式图片
####### Time
#### [formatPassTime][formatPassTime] 格式化${startTime}距现在的已过时间
#### [formatRemainTime][formatRemainTime] 格式化现在距${endTime}的剩余时间
#### [isLeapYear][isLeapYear] 判断是否为闰年
#### [isSameDay][isSameDay] 判断是否为同一天
#### [timeLeft][timeLeft] 计算${startTime - endTime}的剩余时间
#### [monthDays][monthDays] 获取指定日期月份的总天数### Url
#### [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