100个不能错过的实用JS自定义函数(6)


String.prototype.endWith = function (s) {
    var d = this.length - s.length;
    return (d >= 0 && this.lastIndexOf(s) == d)
}


45、原生JavaScript返回IE浏览器的版本号

复制代码 代码如下:


function getIE(){
    if (window.ActiveXObject){
        var v = navigator.userAgent.match(/MSIE ([^;]+)/)[1];
        return parseFloat(v.substring(0, v.indexOf(".")))
    }
    return false
}


46、原生JavaScript获取页面高度

复制代码 代码如下:


function getPageHeight(){
  var g = document, a = g.body, f = g.documentElement, d = g.compatMode == "BackCompat"
      ? a
      : g.documentElement;
  return Math.max(f.scrollHeight, a.scrollHeight, d.clientHeight);
}


47、原生JavaScript获取页面scrollLeft

复制代码 代码如下:


function getPageScrollLeft(){
  var a = document;
  return a.documentElement.scrollLeft || a.body.scrollLeft;
}


48、原生JavaScript获取页面可视宽度

复制代码 代码如下:


function getPageViewWidth(){
  var d = document, a = d.compatMode == "BackCompat"
      ? d.body
      : d.documentElement;
  return a.clientWidth;
}


49、原生JavaScript获取页面宽度

复制代码 代码如下:


function getPageWidth(){
  var g = document, a = g.body, f = g.documentElement, d = g.compatMode == "BackCompat"
      ? a
      : g.documentElement;
  return Math.max(f.scrollWidth, a.scrollWidth, d.clientWidth);
}


50、原生JavaScript获取页面scrollTop

复制代码 代码如下:


function getPageScrollTop(){
  var a = document;
  return a.documentElement.scrollTop || a.body.scrollTop;
}


61、原生JavaScript解决offsetX兼容性问题

复制代码 代码如下:


// 针对火狐不支持offsetX/Y
function getOffset(e){
  var target = e.target, // 当前触发的目标对象
      eventCoord,
      pageCoord,
      offsetCoord;

// 计算当前触发元素到文档的距离
  pageCoord = getPageCoord(target);

// 计算光标到文档的距离
  eventCoord = {
    X : window.pageXOffset + e.clientX,
    Y : window.pageYOffset + e.clientY
  };

// 相减获取光标到第一个定位的父元素的坐标
  offsetCoord = {
    X : eventCoord.X - pageCoord.X,
    Y : eventCoord.Y - pageCoord.Y
  };
  return offsetCoord;
}

function getPageCoord(element){
  var coord = { X : 0, Y : 0 };
  // 计算从当前触发元素到根节点为止,
  // 各级 offsetParent 元素的 offsetLeft 或 offsetTop 值之和
  while (element){
    coord.X += element.offsetLeft;
    coord.Y += element.offsetTop;
    element = element.offsetParent;
  }
  return coord;
}


62、原生JavaScript常用的正则表达式

复制代码 代码如下:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wdydzj.html