/** * Created by lovo_bdk on 15-12-17. */ // !(function(win, doc){ // function setFontSize() { // // 获取window 宽度 // // zepto实现 $(window).width()就是这么干的 // var winWidth = window.innerWidth; // doc.documentElement.style.fontSize = (winWidth / 375) * 100 + 'px' ; // //设置页面元素根元素的px大小,然后所有rem以此为基准。 // //640为开发时候的页面宽度,20为基准px大小, 可以设置任意数字,方便开发时候rem计算 // // } // // var evt = 'onorientationchange' in win ? 'orientationchange' : 'resize'; // // var timer = null; // // win.addEventListener(evt, function () { // clearTimeout(timer); // // timer = setTimeout(setFontSize, 300); // }, false); // // win.addEventListener("pageshow", function(e) { // if (e.persisted) { // clearTimeout(timer); // // timer = setTimeout(setFontSize, 300); // } // }, false); // // //初始化 // setFontSize(); // // }(window, document)); (function(win) { var docEl = win.document.documentElement, tid; function refreshRem() { var width = docEl.getBoundingClientRect().width; var rem = width / 375*100;//以750px为原稿,除以100可得各元素的rem docEl.style.fontSize = rem + "px"; var actualSize = parseFloat(window.getComputedStyle(docEl)["font-size"]); if (actualSize !== rem) { var remScaled = rem / ( actualSize / rem ); docEl.style.fontSize = remScaled + "px" } } function dbcRefresh() { clearTimeout(tid); tid = setTimeout(refreshRem, 100) } win.addEventListener("resize", function() { dbcRefresh() }, false); win.addEventListener("pageshow", function(e) { if (e.persisted) { dbcRefresh() } }, false); refreshRem(); })(window);