HTML-скрытие Divs до загрузки страницы? - PullRequest
0 голосов
/ 04 апреля 2011

У меня есть HTML-документ, в котором тело содержит десятки элементов, перечисленных последовательно.(Это макет небольших скриншотов.)

Внешний вид и расположение каждого элемента div обрабатываются CSS.

Я хочу выборочно скрывать некоторые элементы div в зависимости от некоторых значений состояния.Для этого была создана функция JavaScript «hideSomeDivs ()».(Функция выполняет итерацию по всем элементам div, устанавливая для каждого элемента style.display значение «none», как требуется.)

Проблема: вызов функции hideSomeDivs () из будет слишком поздним: страница уже загруженавизуальные изменения не будут отображаться.Исходный макет сохраняется.

Q. как / где я могу вызвать эту функцию так, чтобы затронутые элементы div были скрыты, а все макеты соответствующим образом скорректированы?Спасибо.

Дополнительная информация:

  • , кроме интерактивности javascript, страница является статической (то есть обработка на стороне сервера недоступна).

  • также я стараюсь избегать «всплывающих» мест, где элементы отображаются / скрываются после загрузки страницы и отрисовки в окне.

  • Кроме того, мне нужно, чтобы макет был переоценен и перерисован.например, если я скрываю div 1 до 4, но показываю div 5, тогда div 5 должен появиться вверху страницы.

Ответы [ 3 ]

1 голос
/ 04 апреля 2011

Подумайте об этом наоборот - по умолчанию спрячьте все свои div'ы, а затем используйте JavaScript, чтобы показать их по мере необходимости.

Конечно, вы могли бы просто устранить необходимость в javascript, если у вас есть серверный язык (например, PHP, ASP.NET), который создает страницу, тогда вы можете просто правильно установить их скрытое состояние.

0 голосов
/ 04 апреля 2011

Возможно, вы хотите вызвать функцию hideSomeDivs () для события onload элемента body.

0 голосов
/ 04 апреля 2011

В ваш HTML-код вставьте код стиля, который по умолчанию скрывает div.Это будет оценено намного раньше, чем Javascript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...