javascript - 移动端引入js去控制根元素的font-size,但在页面初始化时会有抖动的情况,请问有别的优化方法么
问题描述
(function(doc, win) { var docEl = doc.documentElement,resizeEvt = ’orientationchange’ in window ? ’orientationchange’ : ’resize’,recalc = function() { var clientWidth = docEl.clientWidth; if(!clientWidth) return; docEl.style.fontSize = (clientWidth >= 720 ? 100 : clientWidth / 7.5) + ’px’;}; if(!doc.addEventListener) return; win.addEventListener(resizeEvt, recalc, false); doc.addEventListener(’DOMContentLoaded’, recalc, false);})(document, window);
问题解答
回答1:考虑把这段js放在body标签前
回答2:有一个折中解决办法,首先,对body进行设置display:none;再用js控制定时,1毫秒后,body的display为block;
setTimeout(showpage,1);
function showpage(){ $(’body’).css({’display’:’block’,’visibility’:’visible’})}
不足之处是,加载时候,会有一毫秒的白屏,不会出现抖动,1毫秒也就算是极短,如果不介意的话,可以尝试下。