Итак, мне нужно знать ширину элемента с помощью javascript, у меня проблема в том, что функция срабатывает слишком рано, и ширина изменяется при тотальном применении CSS. Как я понял, функция $ (document) .ready () была запущена, когда документ завершен, но, похоже, не работает так.
В любом случае, я уверен, что с кодом моя проблема будет понята (это упрощенный пример):
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<link href='http://fonts.googleapis.com/css?family=Parisienne' rel='stylesheet' type='text/css'>
<style type="text/css">
#target {
font-family: 'Parisienne', cursive;
float: left;
}
</style>
</head>
<body>
<div id="target">Element</div>
</body>
</html>
<script type="text/javascript">
$(document).ready(function(){
console.debug($('#target').outerWidth());
alert('hold on');
console.debug($('#target').outerWidth());
});
</script>
Я хочу знать ширину #target div, проблема в том, что код, который выполняется перед предупреждением, выдает другой вывод, чем тот, который следует после, возможно потому, что шрифт загружен не полностью и он измеряет div с шрифт по умолчанию.
Он работает, как я ожидаю, в Google Chrome, но не работает в IE и Firefox.