2011-12-16 2 views
2

Я переустанавливаю некоторый html и изменяю некоторые значения css в своем $(document).ready в JQuery. К сожалению, если компьютер пользователя не очень быстрый, пользователь видит исходный макет, а затем видит, что вещи перемещаются по экрану до завершения $(document).ready. Я могу скрыть главный div и показать его в конце $(document).ready, но, как это бывает, в зависимости от страницы, у меня есть более одной страницы javascript, загруженной для каждой страницы html, и каждая из этих страниц javascript имеет $ (документ) .ready функция. Таким образом, гарантирование того, какой из них исполняется последним, также является еще одним препятствием.

Чтобы добавить дополнительную сложность, я получаю с сервера html-фрагмент из 100 интервалов, каждый из которых содержит изображение. Я буду отображать только первые n элементов этого html-фрагмента и удалять остальные из dom. n вычисляется на клиенте в javascript. Я хочу сделать это, прежде чем изображения будут фактически вытащены с сервера, поэтому я вытаскиваю только изображения, которые отображаются.

Как я пишу свой код так:

  1. только изображения, которые на самом деле будет отображаться вырываются с сервера. и
  2. Пользователь не видит элементы страницы, перегруппированные перед ними.

Большое спасибо!

ответ

2

1) использовать display:none на вашем содержание в качестве внутреннего стиля, и показать им, после того, как ваш сценарий завершения

2) Оставьте SRC пустые, и поместить его в data_src, а затем скопировать значения SRC, когда вы» вновь готов к отображению

<img src="" data_src="/images/image1.jpg" /> 
+0

Спасибо! 1. с несколькими функциями $ (document) .ready, выполняющимися в том порядке, который не задан в кадре, как я узнаю, когда скрипт будет завершен? 2. Таким образом, если у пользователя отключен javascript, они не получают изображений. – Barka

1

у меня есть более чем один JavaScript для страниц, загруженных на страницы, и каждый из них имеет $ (документ) .ready функции. Таким образом, гарантирование того, какой из них исполняется последним, также является еще одним препятствием.

Вы можете иметь только один

$("document").ready({ 
//functions here 
}); 

и имеют все функции, определенные в этом.

 Смежные вопросы

  • Нет связанных вопросов^_^