如何在字体加载或回流后触发均衡器
How to trigger equalizer after fonts have loaded or on reflow?
我遇到了一个问题,Foundation的均衡器插件在DOM准备好后过早启动。我正在加载一些TypeKit字体,它们需要几毫秒才能加载,但均衡器插件在字体加载之前就启动了。
发生的情况是后备字体(与我的TypeKit字体高度不同)在很短的时间内可见,可能是50ms。当回退字体可见时,均衡器正在对我的div应用高度。后备字体更高,在某些情况下,它使文本行中断为2行。
然后,当TypeKit字体加载时,div不会调整大小。它们太高了,因为它们的高度是在回退字体可见时调整的。
所以。。。有没有一种方法可以在加载TypeKit字体后启动均衡器插件?此外,我看到有一种方法可以在回流时启动插件,这可能是最好的,但我在Foundation 6中没有看到回流,只有5。
在阅读了Typekit和Foundation 5均衡器文档(以及Foundation 6文档)后,我会尝试以下操作:
try {
Typekit.load({
active: function() {
// JavaScript to execute when fonts become active
$(document).foundation('equalizer', 'reflow'); // Foundation 5
// OR
var elem = new Foundation.Equalizer(element);
elem.applyHeight(); // Foundation 6
}
})
} catch(e) {}
也就是说,使元素高度相等的现代方法是在CSS中使用flexbox,而不是JavaScript插件。
在尝试了各种解决方案后,我只是简单地将Typekit包含代码从(旧的)JavaScript嵌入更改为CSS片段:
由此:
<script src="https://use.typekit.net/yourprojectcode.js"></script>
<script>try{Typekit.load({ async: true });}catch(e){}</script>
对此:
<link rel="stylesheet" href="https://use.typekit.net/yourprojectcode.css">
均衡器工作正常。
相关文章:
- 内部分区字体大小获胜'调整浏览器窗口大小时不会随媒体查询而更改
- 用Javascript更改我网站上的字体大小
- 不同字体的字母间距不同
- 如何在谷歌字体加载时显示加载图像
- PhoneGap选项卡栏自定义字体,背景图案
- 每个选择器的Jquery css颜色都在变化,但字体大小却没有变化
- 如何保护节点webkit应用程序上的字体
- 使用点击和窗口散列在Reveal Modal中重新初始化Zurb均衡器
- 如何配置AWS弹性负载均衡器's对Node.js的健康检查
- 祖尔布基金会均衡器在阿贾克斯之后调整大小
- Zurb基金会均衡器
- 如何将apache2.2配置为负载均衡器来管理运行javascript应用程序的tomcat实例
- 如何在字体加载或回流后触发均衡器
- 基础和均衡器不是很好的用户体验
- I'我试图使用HTML5 Web Audio API来创建均衡器类型的图形,但数据从未被带入MediaEleme
- 调整大小的均衡器功能
- 创建一个均衡器与javascript音频api
- 基金会均衡器工作困难
- 基础均衡器不与一行内的显卡工作
- JavaScript的历史.再来看看负载均衡器的问题