常用函数库

// 获取样式
function getStyle(obj, attr) {
    if (obj.currentStyle) {
        return obj.currentStyle([attr])
    } else {
        return getComputedStyle(obj, false)[attr]
    }
}
//事件绑定
function addEvent(obj,sEv,fn){
    if(obj.addEventListener){
        //兼容ie9+ FF Chrome
        obj.addEventListener(sEv,fn,false);
    }else{
        //兼容IE系
        obj.attachEvent('on'+sEv,fn);
    }
}
//事件解绑
function removeEvent(obj,sEv,fn){
    if(obj.removeEventListener){
        //兼容ie9+ FF Chrome
        obj.removeEventListener(sEv,fn,false);
    }else{
        //兼容IE系
        obj.detachEvent('on'+sEv,fn);
    }
}
/**
   * 是否有样式名
   * @param el Dom对象
   * @param className 样式名
   */
  function hasClass(el: Element, className: any) {
    const reg = new RegExp("(^|\\s)" + className + "(\\s|$)");
    return reg.test(el.className);
  }
  /**
   * 添加class
   * @param el Dom对象
   * @param className 样式名
   */
  function  addClass(el: Element | null, className: any) {
    if (el == null || this.hasClass(el, className)) {
      return;
    }
    const newClass = el.className.split(" ");
    newClass.push(className);
    el.className = newClass.join(" ");
  }
  /**
   * 删除class
   * @param el Dom对象
   * @param className 样式名
   */
  function  removeClass(el: Element | null, className: string) {
    if (el == null || !this.hasClass(el, className)) {
      return;
    }
    const newClass = el.className.split(" ");
    newClass.indexOf(className);
    newClass.splice(newClass.indexOf(className), 1);
    el.className = newClass.join(" ");
  }

你可能感兴趣的:(常用函数库)