移动端(webapp)自适应js解析
程序员文章站
2023-12-16 14:57:04
移动端(webapp)自适应js
var a = r.getboundingclientrect().width;
alert(box.getboundingclientrect().top); /...
移动端(webapp)自适应js
var a = r.getboundingclientrect().width;alert(box.getboundingclientrect().top); // 元素上边距离页面上边的距离
alert(box.getboundingclientrect().right); // 元素右边距离页面左边的距离
alert(box.getboundingclientrect().bottom); // 元素下边距离页面上边的距离
alert(box.getboundingclientrect().left); // 元素左边距离页面左边的距离
注意:ie、firefox3+、opera9.5、chrome、safari支持,在ie中,默认坐标从(2,2)开始计算,导致最终距离比其他多出两个像素,我们需要做个兼容。(在移动端一般都是最新浏览器,一般可以放心使用)
document.documentelement.clienttop; // 非ie为0,ie为2 document.documentelement.clientleft; // 非ie为0,ie为2 functionggetrect (element) { var rect = element.getboundingclientrect(); var top = document.documentelement.clienttop; var left= document.documentelement.clientleft; return{ top : rect.top - top, bottom : rect.bottom - top, left : rect.left - left, right : rect.right - left } }
自适应webapp,可以根据需求设置页面最大宽度,可以动态计算元素大小
(function() { function w() { var r = document.documentelement; var a = r.getboundingclientrect().width; if (a > 750) { a = 750; } rem = a / 7.5; r.style.fontsize = rem + "px" } var t; w(); window.addeventlistener("resize", function() { cleartimeout(t); t = settimeout(w, 300) }, false); })();