zoukankan      html  css  js  c++  java
  • JS 工具函数

    // var tools = function() {
      function addEvent(el, type, fn) {
        if (el.addEventListener) { // 
          el.addEventListener(type, fn, false);
        } else if (el.attachEvent) {
          el.attachEvent('on' + type, fn);
        } else {
          el['on' + type] = fn;
        }
      }
    
      function getStyles(elem, prop) {
        if (window.getComputedStyle) {
          if (prop) {
            return parseInt(window.getComputedStyle(elem)[prop]);
          } else {
            return window.getComputedStyle;
          }
        } else if (elem.currentStyle) {
          if (prop) {
            return elem.currentStyle[prop]
          } else {
            return elem.currentStyle;
          }
    
        }
      }
    
      function getEleDocPosition(ele) {
        var parent = ele.offsetParent,
          offsetLeft = ele.offsetLeft,
          offsetTop = ele.offsetTop;
        while (parent) {
          offsetLeft += parent.offsetLeft;
          offsetTop += parent.offsetTop;
          parent = parent.offsetParent;
        }
    
        return {
          left: offsetLeft,
          top: offsetTop
        }
      }
    
      function getScrollSize() {
        if (document.body.scrollHeight) {
          return {
             document.body.scrollWidth,
            height: document.body.scrollHeight
          };
        } else {
          return {
             document.documentElement.scrollWidth,
            height: document.documentElement.scrollHeight
          }
        }
      }
    
      function getViewportSize() {
        if (window.innerWidth) {
          return {
             window.innerWidth,
            height: window.innerHeight
          }
        } else {
          if (document.compatMode === 'BackCompat') {
            return {
               document.body.clientWidth,
              height: document.body.clientHeight
            }
          } else if (document.compatMode === 'CSS1Compat') {
            return {
               document.documentElement.clientWidth,
              height: document.documentElement.clientHeight
            }
          }
        }
      }
    
      function getScrollOffset() {
        if (window.pageXOffset) { // w3c 规范
          return {
            left: window.pageXOffset,
            top: window.pageYOffset
          }
        } else {
          return {
            left: document.body.scrollLeft + document.documentElement.scrollLeft, //document.body.scrollLeft 和 document.documentElement.scrollLeft都是数字类型,不存在即为0
            top: document.body.scrollTop + document.documentElement.scrollTop,
          }
        }
      }
    
      function elemChildren(node) {
        var temp = {
          'length': 0,
          'push': Array.prototype.push,
          'splice': Array.prototype.splice
        },
            children = node.childNodes;
        for (var i = 0; i < children.length; i++) {
          var childItem = children[i];
    
          if (childItem.nodeType === 1) {
            // temp[temp['length']] = childItem;
            // temp['length']++;
            temp.push(childItem);
          }
        }
        return temp;
      }
    
      function cancelBuble(e) {
        if (e.stopPropagation) {
          e.stopPropagation();
        } else {
          e.cancelBuble = true;
        }
      }
    
    
    //   return {
    //     addEvent: addEvent,
    //     getStyles: getStyles,
    //     getEleDocPosition: getEleDocPosition,
    //     getScrollWidth: getScrollWidth,
    //     getViewportSize: getViewportSize,
    //     getScrollOffset: getScrollOffset,
    //     elemChildren: elemChildren,
    //     cancelBuble: cancelBuble
    //   }
    // };
  • 相关阅读:
    java 学习 —— AWT布局组件
    Java 学习 ——网络与通信
    Java 学习————线程直接通信
    Java 学习————多线程同步
    改善PHP开发方式的5种方法
    grep在linux操作系统php,pytho等开发中的应用
    CSS border边框属性教程(color style)
    css输入框文字点击消失输入文字颜色变深JQ特效
    DIVCSS5模块 上标题下简介列表DIV CSS布局
    DIV CSS position绝对定位absolute relative教程篇
  • 原文地址:https://www.cnblogs.com/ycherry/p/12106189.html
Copyright © 2011-2022 走看看