我在网站上有多种字体它加载速度非常慢,我有一些jquery功能,我需要在加载字体时加载它们.
我试着打电话给它
jQuery(window).load(function () { //my_function() });
不工作怎么办???
解决方法
Google font loader callbacks/events的一个问题是,如果你正在使用jQuery – 你可能不想在加载DOM之前运行你的事件处理程序 – 但你不想冒险运行它,然后才能确定所有字体都已加载.
这是我的解决方案.假设:
>您正在使用Google字体加载器
>只有在加载所有字体,css和DOM之后才想运行某些东西
>你在字体加载器启动之前加载jQuery很好(因为我使用$.Callbacks())
这是我在jQuery< script>之后立即执行的操作.标签
var activeCallback = $.Callbacks(); WebFontConfig = { google: { families: ['Open+Sans:400italic,400,300,600:latin'] },active: function () { activeCallback.fire(); } }; // ...
然后是一个标准的jQuery就绪函数
$(function() { // start slide show when all fonts are loaded (need to calculate heights) activeCallback.add(function () { startSlideshow(); }); // other DOM manipulation });
只要Google字体加载器完成,回调就会触发 – 但如果文档尚未完成,则事件将不会被触发(这与jQuery Callbacks的工作方式相同).