Frage

Ich bin auf meiner Seite viel JavaScript mit und ich bin mit Typekit. Um meine Seite korrekt arbeiten zu machen (Grid und Sachen) Ich verwende die neuen Typekit Schrift Ereignisse.

Es ist einfach ein Versuch und catch-Anweisung, dass überprüft, ob Schriftarten geladen werden oder nicht. Ich bekomme es aber irgendwie nicht. Ich rufe die setGrid() Funktion, wenn Typekit-Schriften geladen sind, aber z iPad oder iPhone nicht unterstützt, dass noch nicht und so meine Seite nicht richtig angezeigt bekommt, wenn ich die setGrid() Funktion nicht aufrufen.

Wie auch immer, ich will auch die Funktion in der Fehlerfeststellung nennen, so dass, wenn die Seite auf dem iPhone genannt wird, die Seite funktioniert ohne Webfonts auch.

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

Doch die alert Werke, wird die setGrid() Funktion nicht aufgerufen. Irgendwelche Ideen?

edit: die Funktion sieht wie folgt aus:

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

Lösung

Versuchen Sie es "echte" Funktion machen, wie folgt aus:

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

Andere Tipps

Die Funktion wird aufgerufen, aber es funktioniert einfach nicht wie erwartet, wodurch Sie denken, dass es nicht immer genannt. Sie können sehen, dass es durch Hinzufügen einer Benachrichtigung, die erste Zeile des setGrid genannt zu werden.

jsfiddle Link

Können Sie:

  • try / catch um setGrid auch
  • alert nach setGrid bestätigen es durch setGrid bekommen
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top