Рендеринг страницы перед выполнением сценария в $(document).ready для изменения порядка элементов html
Я реорганизовываю некоторые HTML и изменяю некоторые значения CSS в моем $(document).ready
в JQuery. К сожалению, если компьютер пользователя не работает очень быстро, пользователь видит исходный макет, а затем видит, что все перемещается на экране, пока $(document).ready
завершается. Я могу скрыть главное div
и показать это в конце $(document).ready
но, как это бывает, в зависимости от страницы, у меня загружено более одной страницы javascript для каждой html-страницы, и каждая из этих страниц javascript имеет функцию $(document).ready. Так что гарантировать, кто из них выполняет последний, - это еще одно препятствие.
Чтобы добавить больше сложности, я получаю с сервера HTML-фрагмент из 100 участков, каждый из которых содержит изображение. Я покажу только первые n элементов этого фрагмента html и удалю остальные из dom. n рассчитывается на клиенте в JavaScript. Я хочу сделать это до того, как изображения будут извлечены с сервера, поэтому я извлекаю только те изображения, которые отображаются.
Как мне написать свой код так:
- Только изображения, которые на самом деле будут отображаться, извлекаются с сервера. а также
- Пользователь не видит элементы страницы, расположенные перед ними.
Большое спасибо!
2 ответа
1) использовать display:none
на свой контент в виде встроенного стиля, и показать их после завершения сценария
2) Оставь SRC
пустым, и положить его в data_src
затем скопируйте значения в SRC, когда вы будете готовы отобразить
<img src="" data_src="/images/image1.jpg" />
У меня загружено более одной страницы javascript для этой страницы, и у каждой из них есть функция $(document).ready. Так что гарантировать, кто из них выполняет последний, - это еще одно препятствие.
Вы можете иметь только один
$("document").ready({
//functions here
});
и иметь все функции, определенные внутри этого.