加载字体后调用jQuery函数。
我在网站上有多种字体,加载速度非常慢,我有一些jquery功能,需要在加载字体时加载它们 我已经试着把它叫来了加载字体后调用jQuery函数。,jquery,load,Jquery,Load,我在网站上有多种字体,加载速度非常慢,我有一些jquery功能,需要在加载字体时加载它们 我已经试着把它叫来了 jQuery(window).load(function () { //my_function() }); 不工作怎么办?如果您想控制@font-faces的加载过程,请使用谷歌和Typekit开发的WebFont Loader 为了捕获事件,您需要使用字体加载器。遗憾的是,没有跨浏览器加载字体的方法,因此我建议您尝试以下方法: 其中的一个问题是,如果使用jQuery,在加载DO
jQuery(window).load(function () {
//my_function()
});
不工作怎么办?如果您想控制@font-faces的加载过程,请使用谷歌和Typekit开发的WebFont Loader
为了捕获事件,您需要使用字体加载器。遗憾的是,没有跨浏览器加载字体的方法,因此我建议您尝试以下方法: 其中的一个问题是,如果使用jQuery,在加载DOM之前可能不想运行事件处理程序,但在确保加载所有字体之前,不想冒险运行事件处理程序 这是我的解决方案。假设:
- 您正在使用谷歌字体加载器
- 只有在加载了所有字体、css和DOM之后,您才想运行一些东西
- 您可以在字体加载程序启动之前加载jQuery(因为我使用的是
)$.Callbacks()
标记之后立即执行的操作
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就是这样工作的)(字体是如何加载的?请看这篇文章:我没有使用@font-faces,我使用的是fonts.com javascript,它为每个浏览器提供了合适的字体。非常感谢,如果有其他解决方案,请告知。))如果有任何其他变体可以加载字体状态,请让我知道,谢谢您的回复。使用谷歌的WebFont Loader是非常有用的最好的办法。它直接从fonts.com加载字体,并在所有字体都已加载时提醒您。@Blender,他在问您Google是如何完成的,即原始Javascript。
$(function()
{
// start slide show when all fonts are loaded (need to calculate heights)
activeCallback.add(function ()
{
startSlideshow();
});
// other DOM manipulation
});