rem js 适配

 做个记录

// (function (doc, win) {
//   var docEl = doc.documentElement,
//     resizeEvt = "orientationchange" in window ? "orientationchange" : "resize",
//     recalc = function () {
//       var clientWidth = docEl.clientWidth;

//       if (!clientWidth) return;

//       if (clientWidth >= 1920) {
//         docEl.style.fontSize = "100px"; //1rem  = 100px
//       } else {
//         docEl.style.minWidth = "1600px";
//         docEl.style.minHeight = "900px";
//         docEl.style.fontSize = 100 * (clientWidth / 1920) + "px";
//       }
//     };
//   if (!doc.addEventListener) return;
//   win.addEventListener(resizeEvt, recalc, false);
//   doc.addEventListener("DOMContentLoaded", recalc, false);
// })(document, window);
(function (base, min, max, scaling) {
  var cacheWidth = 0;
  var timer;
  var docEl = document.documentElement;
  var recalc = function () {
    var clientWidth = docEl.clientWidth;
    var clientHeight = docEl.clientHeight;

    //当页面比例大于固定比例时长度以宽度为基准反之以长度为基准if(fixProportion<pageProportion)f//宽度不变长度改变
    let pageProportion = clientWidth / clientHeight;
    //固定16比9的尺寸
    let fixProportion = 16 / 9; //固定比例

    if (!clientWidth) return;
    if (pageProportion > fixProportion) {
    } else {
    }
    clientWidth = Math.max(Math.min(clientWidth, max), min);

    if (cacheWidth !== clientWidth) {
      clearInterval(timer);
      cacheWidth = clientWidth;
      docEl.style.minWidth = "1280px";
      console.log(clientWidth / fixProportion);
    //   docEl.style.height = clientWidth / fixProportion + "px";
      docEl.style.fontSize = scaling * (clientWidth / base) + "px";
    }
  };
  recalc();
  setTimeout(recalc, 300);
  if (!window.addEventListener) return;
  var resizeWithTimer = function () {
    timer = setInterval(recalc, 10);
  };
  if ("onorientationchange" in window)
    window.addEventListener("orientationchange", resizeWithTimer);
  if ("onresize" in window) window.addEventListener("resize", resizeWithTimer);
})(1920, 1366, 2560, 100);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值