У нас есть приложение, где:Javascript: когда применяется шрифт?
- Применить шрифта лицо
Lato
к телу - нужно вычислить
offset().top
значение некоторых элементов (для прокрутки-шпиона)
Теперь вычислим значение offset().top
в функции Angular link
, которая должна быть вызвана после готовности DOM.
Однако мы обнаружили, что значения являются неточными. Если мы отключим шрифт Lato
, значения вернутся.
Таким образом, мы подозреваем, что в функции link
, когда мы вычисляем, шрифт еще не отображается на body
, что делает неверным значение offset()
.
Как мы можем рассчитать только после того, как применяется шрифт?
Я пробовал решение, данное в How to know when font-face has been applied, но не повезло.
Вы пытались выполнить вычисления в 'link' внутри нулевой задержки' $ timeout'? Нельзя обещать, что это будет работать для шрифта, но это помогает в подобных случаях. – estus
Может быть, 'line-height' имеет некоторый эффект для вычисления смещения? – Justinas
Спасибо @estus. Но я попытался, это не сработает. И 'line-height' установлен как' 24px' для всей оболочки, @Justinas. – Joy