mac*_*ael 4 javascript performance firefox
该功能改编自网站:http://eriwen.com/javascript/measure-ems-for-layout/
function getEmSize(el) {
var tempDiv = document.createElement("div");
tempDiv.style.height = "1em";
el.appendChild(tempDiv);
var emSize = tempDiv.offsetHeight;
el.removeChild(tempDiv);
return emSize;
}
Run Code Online (Sandbox Code Playgroud)
我正在运行此函数作为window.resize上另一个函数的一部分,它导致Firefox 3.6上的性能问题在当前的Safari或Chrome上不存在.Firefox的分析师说我花了大部分时间在这个功能上,我很好奇为什么会这样.
有没有办法在不完成所有这些工作的情况下在javascript中获取em大小?我想在重新调整大小时重新计算用户更改它的大小.
Dav*_*ron 11
好像功能可能只是
function getEmSize(el) {
return Number(getComputedStyle(el, "").fontSize.match(/(\d+)px/)[1]);
}
Run Code Online (Sandbox Code Playgroud)
换句话说,您可以只获取元素的计算字体大小,而不是创建div并调整其大小.
归档时间: |
|
查看次数: |
3569 次 |
最近记录: |