![LICENSE MIT](https://camo.githubusercontent.com/1258d2285d00884260b631cd83215469465e212cc6fb3aa0c37319f437a0eb3e/68747470733a2f2f696d672e736869656c64732e696f2f6e706d2f6c2f657870726573732e737667)
前端业务代码工具库
目的:高效率完成前端业务代码
业务开发过程中,会经常用到日期格式化
、url参数转对象
、浏览器类型判断
、节流函数
等常用函数,为避免不同项目多次复制粘贴的麻烦,这里统一封装,并发布到npm,以提高开发效率。如果你也有常用的代码,欢迎为本项目提交pr。
- 直接下载
min
目录下的jstools.min.js使用,支持UMD通用模块规范
- 使用npm安装
<script src="jstools.min.js"></script>
<script>
var OS = jstools.getOS()
</script>
$ npm install --save-dev dj-jstools
webpack、RequireJS、SeaJS等
// 完整引入
const jstool = require('dj-jstools')
const OS = jstool.getOS()
推荐使用方法
你真的不需要完整引入所有函数,所以只引入需要使用的方法即可。
// 只引入部分方法('dj-jstools/static/<方法名>')
const getOS = require('dj-jstools/static/getOS')
const OS = getOS()
项目构建
编译ES6转ES5 npm run jsBabel
classApi.isElement(el) //是否元素节点
classApi.hasClass(el,cls)
classApi.addClass(el,cls)
classApi.removeClass(el,cls)
classApi.toggleClass(el,cls)
[animationFrame][animationFrame] AnimationFrame简单兼容hack
cookieApi.set(name, value[, end[, path[, domain[, secure]]]])添加Cookie
cookieApi.get(name) 根据name读取Cookie
cookieApi.has(name) 根据name验证是否存在
cookieApi.remove(name)根据name删除Cookie
cookieApi.keys() 获取cookieKeys列表
[isWeixin][isWeixin] 是否微信内置浏览器
offset 获取一个元素的距离文档(document)的位置,类似jQ中的offset()
scrollTo 在${duration}时间内,滚动条平滑滚动到${to}指定位置
[Stroge][localStorageApi] 缓存
localStorageApi.set 设置缓存,缓存过期时间
localStorageApi.remove 删除指定缓存
localStorageApi.clearv 清空所有缓存