Порядок очереди в jquery $ (document) .ready () - PullRequest
2 голосов
/ 20 октября 2010

У меня есть страница index.html, которая расширяет base.html (django), и у каждого из них есть $ (document). Уже определено.Теперь я ожидал, что файл base.html пойдет первым, но я ошибся: сначала указывается индекс, а после base.html начинается индекс.Я предполагаю, что это потому, что индекс завершает загрузку перед базой, а не какое-то поведение jquery по умолчанию, чтобы потомки выполнялись перед родителем.Могу ли я сделать что-нибудь, чтобы изменить этот порядок?Потому что родитель решает (в зависимости от размера окна), должно ли меню быть вертикальным или горизонтальным, и потомок масштабирует div, чтобы занять остальную часть окна.Теперь я хотел бы, чтобы масштабирование происходило после того, как у меня появилось меню.

1 Ответ

1 голос
/ 20 октября 2010

Вы могли бы теоретически изменить это, манипулируя массивом jQuery.readyList и перемещая вещи, но вы бы там ослепли. Вместо этого я бы рекомендовал переключить ваш сценарий, который должен запускаться после других, с document.ready на window.onload, например:

$(window).load(function() {
  //code to run after the others
});

Кажется, вы все равно захотите этого, так как вы имеете дело с размером и масштабированием окна, и это происходит после загрузки изображений, поэтому ваш масштаб будет правильным, но не будет меняться. 1011 *

...