Я разместил это внутри моего jsp файла:
<script>
jQuery( document ).ready(function() {
jQuery('#resrcTypesTree').height(jQuery('.secondColumn').innerHeight() - 10);
});
</script>
Если я запускаю его непосредственно в консоли Chrome, он работает без проблем. Если я загружаю страницу, идентификатор #resrcTypesTree устанавливается в 10px (по умолчанию css). Я не могу понять, почему он не устанавливает высоту resrcTypesTree для второй высоты столбца. Есть ли что-то еще, что мне не хватает? Я мог бы сделать паузу, чтобы проверить страницу после того, как прошло некоторое время, я просто чувствую, что это хаки.
$ For jQuery переопределяется другой библиотекой в проекте, поэтому я назвал jQuery вместо "$".
Может кто-нибудь указать мне в правильном направлении, пожалуйста? Заранее спасибо!
Это оказалось проблемой ajax. Мне пришлось написать функцию посредника, так как выполняется более одного вызова ajax. 95% времени, когда повторный размер работает, однажды помещается в сценарий ajax, однако 5% времени вторичный вызов ajax будет выполнен первым, в результате чего страница не будет правильно изменять градиент.
В зависимости от контента, на который вы нацеливаетесь, но в качестве простого исправления вы должны подождать весь загружаемый контент:
jQuery(window).on('load',function () {
jQuery('#resrcTypesTree').height(jQuery('.secondColumn').innerHeight() - 10);
});
jQuery('#resrcTypesTree')
загружается динамически?secondColumn
изображения или другие динамические данные?