• 处理浏览器兼容性


    function $(id) {
    return document.getElementById(id);
    }

    // 处理浏览器兼容性
    // 获取第一个子元素
    function getFirstElementChild(element) {
    var node, nodes = element.childNodes, i = 0;
    while (node = nodes[i++]) {
    if (node.nodeType === 1) {
    return node;
    }
    }
    return null;
    }

    // 处理浏览器兼容性
    // 获取下一个兄弟元素
    function getNextElementSibling(element) {
    var el = element;
    while (el = el.nextSibling) {
    if (el.nodeType === 1) {
    return el;
    }
    }
    return null;
    }


    // 处理innerText和textContent的兼容性问题
    // 设置标签之间的内容
    function setInnerText(element, content) {
    // 判断当前浏览器是否支持 innerText
    if (typeof element.innerText === 'string') {
    element.innerText = content;
    } else {
    element.textContent = content;
    }
    }

    // 处理注册事件的兼容性问题
    // eventName, 不带on, click mouseover mouseout
    function addEventListener(element, eventName, fn) {
    // 判断当前浏览器是否支持addEventListener 方法
    if (element.addEventListener) {
    element.addEventListener(eventName, fn); // 第三个参数 默认是false
    } else if (element.attachEvent) {
    element.attachEvent('on' + eventName, fn);
    } else {
    // 相当于 element.onclick = fn;
    element['on' + eventName] = fn;
    }
    }

    // 处理移除事件的兼容性处理
    function removeEventListener(element, eventName, fn) {
    if (element.removeEventListener) {
    element.removeEventListener(eventName, fn);
    } else if (element.detachEvent) {
    element.detachEvent('on' + eventName, fn);
    } else {
    element['on' + eventName] = null;
    }
    }

    // 获取页面滚动距离的浏览器兼容性问题
    // 获取页面滚动出去的距离
    function getScroll() {
    var scrollLeft = document.body.scrollLeft || document.documentElement.scrollLeft;
    var scrollTop = document.body.scrollTop || document.documentElement.scrollTop;
    return {
    scrollLeft: scrollLeft,
    scrollTop: scrollTop
    }
    }

    // 获取鼠标在页面的位置,处理浏览器兼容性
    function getPage(e) {
    var pageX = e.pageX || e.clientX + getScroll().scrollLeft;
    var pageY = e.pageY || e.clientY + getScroll().scrollTop;
    return {
    pageX: pageX,
    pageY: pageY
    }
    }


    //格式化日期对象,返回yyyy-MM-dd HH:mm:ss的形式
    function formatDate(date) {
    // 判断参数date是否是日期对象
    // instanceof instance 实例(对象) of 的
    // console.log(date instanceof Date);
    if (!(date instanceof Date)) {
    console.error('date不是日期对象')
    return;
    }

    var year = date.getFullYear(),
    month = date.getMonth() + 1,
    day = date.getDate(),
    hour = date.getHours(),
    minute = date.getMinutes(),
    second = date.getSeconds();

    month = month < 10 ? '0' + month : month;
    day = day < 10 ? '0' + day : day;
    hour = hour < 10 ? '0' + hour : hour;
    minute = minute < 10 ? '0' + minute : minute;
    second = second < 10 ? '0' + second : second;

    return year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second;
    }

    // 获取两个日期的时间差
    function getInterval(start, end) {
    // 两个日期对象,相差的毫秒数
    var interval = end - start;
    // 求 相差的天数/小时数/分钟数/秒数
    var day, hour, minute, second;

    // 两个日期对象,相差的秒数
    // interval = interval / 1000;
    interval /= 1000;

    day = Math.round(interval / 60 / 60 / 24);
    hour = Math.round(interval / 60 / 60 % 24);
    minute = Math.round(interval / 60 % 60);
    second = Math.round(interval % 60);

    return {
    day: day,
    hour: hour,
    minute: minute,
    second: second
    }
    }

  • 相关阅读:
    Android 开发技术周报 Issue#276
    手动添加 Git bash 到鼠标右键
    Sublime Text3 3143 注册码
    MySQL主从复制
    Python-MongoDB的驱动安装、升级
    MongoDB数据库的安装、配置和使用
    js循环生成多个easyui datagrid数据网格时,初始化表格
    屏蔽掉Google Chrome 浏览器 textarea 单词拼写检测
    Fiddler屏蔽某些url的抓取方法
    解决VMware下安装Ubuntu 16.04 不支持1920X1080分辨率的问题
  • 原文地址:https://www.cnblogs.com/pxxdbk/p/12643012.html
Copyright © 2020-2023  润新知