我正在尝试在网页上制作一种“新闻栏”。该栏使用 CSS 动画,文本内容在每次迭代时刷新,使用 ajax 从 RSS 提要中检索数据。
我的问题是内容长度可能会有所不同,所以我想将用于显示文本的字体大小设置为足够小以显示所有内容。
然后我使用这个函数来调整文本内容的大小:
function resize(content /*content div*/, maxHeight/*bar height*/, maxWidth /*bar width*/) {
content.parentNode.style.fontSize = maxHeight + 'px';
var totalwidth = content.offsetWidth;
if (totalwidth > maxWidth) {
content.parentNode.style.fontSize = (maxHeight * maxWidth / totalwidth) + 'px';
}
}
它有时在第一次迭代时有效,但在它为 totalWidth 返回完全错误的值(如 36)之后。如果我在“if”行设置断点,调试器会为 content.offsetWidth 显示一个一致的值(如 4320)。
我怎样才能解决这个问题 ?