//1.滚动条到顶端的距离
  var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;

//2.滚动条到左边的距离
  var scrollLeft = document.documentElement.scrollLeft || document.body.ScrollLeft;

//3.byClassName的兼容(通过class获取指定的对象)
  function byClassName(obj,className){
    //判断是否支持byClassName方法
    if(obj.getElementsByClassName){
      //直接使用
      return obj.getElementsByClassName(className);
    }else{//不支持
      //获取所有的标签
      var eles = obj.getElementsByTagName("*");
      var arr = [];
      //获取每一个标签对象
      for(var i = 0,len = eles.length;i < len;i++){
        //判断每一个对象是否具有指定的className
        if(eles[i].className === className){
          arr.push(eles[i]);
        }
      }
      return arr;
    }
  }

//4.获取元素对象中class属性值的兼容
  function getClassValue(obj){
    return obj.getAttribute('class') ? obj.getAttribute('class') : obj.getAttribute('className');
  }

//5.获取非行内样式的兼容
  function getStyle(obj,attr){
    return obj.currentStyle ? obj.currentStyle[attr] : getComputedStyle(obj,1)[attr];
  }

//6.获取事件对象的兼容
  evt = evt || window.event;

//7.获取鼠标编码值得兼容
  function getButton(evt){
    var e = evt || window.event;
    if(evt){
      return e.button;
    }else if(window.event){
      switch(e.button){
        case 1 : return 0;
        case 4 : return 1;
        case 2 : return 2;
      }
    }
  }

//8.阻止事件冒泡的兼容
  event.stopPropagation ? event.stopPropagation() : event.cancelBubble = true;

//9.获取键盘编码值onkeypress的兼容
  event.keyCode || event.charCode || event.which;

//10.阻止超链接的默认行为的兼容
  event.preventDefault ? event.preventDefault() : event.returnValue = false;

//11.添加事件监听的兼容
  function addEventListener(obj,event,fn,bool){
    if(obj.addEventListener){
      obj.addEventListener(event,fn,bool);
    }else if(obj.attachEvent){
      obj.attachEvent('on' + event,fn);
    }
  }

//12.移除事件监听器的兼容
  function removeEventListener(obj,event,fn, bool){
    if(obj.removeEventListener){
      obj.removeEventListener(event,fn,bool);
    }else if(obj.detachEvent){
      obj.detachEvent('on' + event,fn);
    }
  }

//13.获取事件源的兼容
  var target = event.target || event.srcElement;

//14.创建Ajax(XMLHttpRequest)对象兼容

  var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');

最新文章

  1. day1 基础总结
  2. 与你相遇好幸运,Postman设置Header不生效问题解决
  3. 敏捷数据科学:用Hadoop创建数据分析应用
  4. HTTP协议 (五) 代理
  5. bootstrap学习笔记(6)
  6. iOS 拍照中加入GPS和具体地理位置
  7. IE取消访问剪贴板设置
  8. Qt 学习之路 :视图代理
  9. 推荐一个非常牛逼的并发httpful的库(php)
  10. 《微软的软件测试之道》【PDF】下载
  11. [sublime]用sublime搭建属于自己的Python的IDE
  12. Iris jwt 使用
  13. OSPFv3与OSPF的配置
  14. Android UI(二)DridView的菜单
  15. 第三十四篇-Palette(调色板)的使用
  16. sqlmap+DWAV测试实战(一)
  17. python动态模块导入
  18. CCPC-Wannafly Winter Camp Day4 Div1 - 夺宝奇兵 - [简单思维题]
  19. STL之lambda表达式
  20. RockBrain USB Server- 云计算虚拟化USB设备集中管理、远程共享解决方案(涉及银企直联)

热门文章

  1. 推荐一款关于MongoDB日志分析的工具--Mtools
  2. netcat的简单使用(一)
  3. LeetCode算法题-Construct String from Binary Tree(Java实现)
  4. 协程demo,1异步爬网页 2异步socket请求
  5. duilib
  6. HBase2.0中的Benchmark工具 — PerformanceEvaluation
  7. Android开发欢迎页点击跳过倒计时进入主页
  8. linux 网卡的混杂模式的取消
  9. JavaScript代码组织结构良好的5个特点
  10. 理解mysql执行多表联合查询