保留一个rem的处理js

!function(e, t) {
    function n() {
        var t = o.getBoundingClientRect().width;
        if (t < 320) {
            t = 320
        }
        ;n = t / 7.5;
        o.style.fontSize = n + "px",
        d.rem = e.rem = n
    }
    var i, r = e.document, o = r.documentElement, a = 0, d = t.flexible || (t.flexible = {}), s = e.navigator.appVersion.match(/iphone/gi), m = e.navigator.appVersion.match(/UCBrowser/gi), p = e.devicePixelRatio;
    a = s ? p >= 3 && (!a || a >= 3) ? 3 : p >= 2 && (!a || a >= 2) ? 2 : 1 : 1,
    o.setAttribute("data-dpr", a),
    "complete" === r.readyState ? r.body.style.fontSize = "50px" : r.addEventListener("DOMContentLoaded", function() {
        r.body.style.fontSize = "50px"
    }, !1);
    var c = "onorientationchange"in window ? "orientationchange" : "resize";
    if (e.addEventListener(c, function() {
        clearTimeout(i),
        i = setTimeout(n, 300)
    }, !1),
    e.addEventListener("pageshow", function(e) {
        e.persisted && (clearTimeout(i),
        i = setTimeout(n, 300))
    }, !1),
    n(),
    d.dpr = e.dpr = a,
    d.refreshRem = n,
    d.rem2px = function(e) {
        var t = parseFloat(e) * this.rem;
        return "string" == typeof e && e.match(/rem$/) && (t += "px"),
        t
    }
    ,
    d.px2rem = function(e) {
        var t = parseFloat(e) / this.rem;
        return "string" == typeof e && e.match(/px$/) && (t += "rem"),
        t
    }
    ,
    s && !m) {
        var l = "notHairlines"
          , u = navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/)
          , f = parseInt(u[1], 10);
        f >= 8 && (l = "hairlines"),
        document.documentElement.classList.add(l)
    }
}(window, window.lib || (window.lib = {}));

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容