Pergunta

Estou tendo muito javascript na minha página e estou usando o TypeKit. Para fazer minha página funcionar corretamente (grade e outras coisas), estou usando os novos eventos de fonte do TypeKit.

É simplesmente uma declaração de tentar ver que verifica se as fontes são carregadas ou não. No entanto, de alguma forma eu não estou entendendo. Estou ligando para o setGrid() função se as fontes typekit estiverem carregadas, mas por exemplo, iPad ou iPhone ainda não suporta isso e, portanto, minha página não é mostrada corretamente quando eu não chamo o setGrid() função.

De qualquer forma, também quero chamar a função na instrução ERRO, portanto, se a página for chamada no iPhone, a página também funcionará sem webfonts.

try {
 Typekit.load({
  loading: function() { },
  active: function() { setGrid(); },
  inactive: function() { }
 })
} catch(e) {
 alert('error'); //works
 setGrid(); //doesn't get called
}

No entanto, o alert trabalha, o setGrid() A função não é chamada. Alguma ideia?

Editar: a função se parece com isso:

var setGrid = function () {
 $('#header, #footer').fadeIn(500);
 return $("#grid").vgrid({
  easeing: "easeOutQuint",
  time: 800,
  delay: 60
 });
};
Foi útil?

Solução

Tente fazê -lo função "real", assim:

function setGrid() {
  $('#header, #footer').fadeIn(500);
  return $("#grid").vgrid({
    easeing: "easeOutQuint",
    time: 800,
    delay: 60
  });
};

Outras dicas

A função é chamada, mas simplesmente não funciona como você esperava, fazendo com que você pense que não está sendo chamado. Você pode ver que está sendo chamado adicionando um alerta como a primeira linha do setGrid.

link jsfiddle

Você pode:

  • Experimente/pegue setGrid, também
  • alert depois do setGrid para confirmar que está passando setGrid
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top