美文网首页
常用函数库

常用函数库

作者: jia林 | 来源:发表于2018-10-21 10:10 被阅读0次
// 获取样式
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(" ");
  }

相关文章

网友评论

      本文标题:常用函数库

      本文链接:https://www.haomeiwen.com/subject/jhidaftx.html