JQuery не работает правильно на document.ready ();

0

Я разместил это внутри моего jsp файла:

<script>
    jQuery( document ).ready(function() {
        jQuery('#resrcTypesTree').height(jQuery('.secondColumn').innerHeight() - 10);
    });
</script>

Если я запускаю его непосредственно в консоли Chrome, он работает без проблем. Если я загружаю страницу, идентификатор #resrcTypesTree устанавливается в 10px (по умолчанию css). Я не могу понять, почему он не устанавливает высоту resrcTypesTree для второй высоты столбца. Есть ли что-то еще, что мне не хватает? Я мог бы сделать паузу, чтобы проверить страницу после того, как прошло некоторое время, я просто чувствую, что это хаки.

$ For jQuery переопределяется другой библиотекой в проекте, поэтому я назвал jQuery вместо "$".

Может кто-нибудь указать мне в правильном направлении, пожалуйста? Заранее спасибо!

  • RR
  • 0
    jQuery('#resrcTypesTree') загружается динамически?
  • 0
    И содержит ли secondColumn изображения или другие динамические данные?
Показать ещё 1 комментарий
Теги:
resize

2 ответа

0
Лучший ответ

Это оказалось проблемой ajax. Мне пришлось написать функцию посредника, так как выполняется более одного вызова ajax. 95% времени, когда повторный размер работает, однажды помещается в сценарий ajax, однако 5% времени вторичный вызов ajax будет выполнен первым, в результате чего страница не будет правильно изменять градиент.

0

В зависимости от контента, на который вы нацеливаетесь, но в качестве простого исправления вы должны подождать весь загружаемый контент:

jQuery(window).on('load',function () {
    jQuery('#resrcTypesTree').height(jQuery('.secondColumn').innerHeight() - 10);
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню