常用的前端方法封装(二)
输入一个值,返回其数据类型
1 | function type(para) { |
数组去重
1 | // 方法一 |
字符串去重
1 | // 所有的字符只会出现一次 |
深拷贝 浅拷贝
1 | //深克隆(深克隆不考虑函数) |
找出字符串中第一次只出现一次的字母
1 | String.prototype.firstAppear = function () { |
找元素的第n级父元素
1 | function parents(ele, n) { |
返回元素的第n个兄弟节点
1 | function retSibling(e, n) { |
判断元素有没有子元素
1 | function hasChildren(e) { |
让一个元素插入到另一个元素的后面
1 | Element.prototype.insertAfter = function (target, elen) { |
获得滚动条的滚动距离
1 | function getScrollOffset() { |
获得视口的尺寸
1 | function getViewportOffset() { |
获取任一元素的任意属性
1 | function getStyle(elem, prop) { |
绑定事件的兼容代码
1 | function addEvent(elem, type, handle) { |
解绑事件
1 | function removeEvent(elem, type, handle) { |
取消冒泡的兼容代码
1 | function stopBubble(e) { |
检验字符串是否是回文
1 | function isPalina(str) { |
检验字符串是否是回文
1 | function isPalindrome(str) { |
兼容getElementsByClassName方法
1 | Element.prototype.getElementsByClassName = Document.prototype.getElementsByClassName = function (_className) { |
运动函数
1 | function animate(element, styleJson, callback) { |
示例
1 | // 点击按钮查看结果 |
原生js封装ajax
1 | function ajax(method, url, callback, data, flag) { |
防抖
1 | function debounce(handle, delay) { |
节流
1 | function throttle(handler, wait) { |
验证邮箱的正则表达式
1 | function isAvailableEmail(sEmail) { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 SZX的开发笔记!
评论