#jquery #css
#jquery #css
Вопрос:
Это только очень кратко, пока происходит загрузка элементов и jsp includes
. Однако это довольно раздражает.
Есть советы по удалению этого? Если быть более конкретным, что такое css-эквивалент hide() и show().
Комментарии:
1. Какого рода форматирование? А что мешает вам использовать css напрямую?
2. скрытие разделов с помощью show / hide, slidedown / slideup
Ответ №1:
Для этого и существует css, js (и jQuery) следует использовать для поведенческого уровня, который влияет на представление, но это не должно быть единственным средством, с помощью которого вы делаете свою страницу презентабельной.
Единственное предложение, которое я могу сделать, помимо оформления страницы с помощью CSS, — это использовать какую-то маску
#cover {
position: absolute;
top: 0;
bottom: 0;
left: 0
right: 0
background: #fff url('path/to/loading.gif') 50% 50% no-repeat;
}
<div id="cover">
</div>
А затем используйте:
$(window).load(
function() {
$('#cover').remove();
}
);
Но я думаю, что это, вероятно, просто усугубляет ошибки, которые вы, возможно, уже допускаете.
Ответ №2:
Используйте css, чтобы задать начальное состояние всех элементов и вносить изменения только после загрузки с помощью js / jquery. Не похоже, что это может быть более неудобно, чем кодирование логики форматирования элементов в js.
У вас всегда будет такая задержка, если js используется для создания начального состояния, как вам кажется, вы рассчитали. Даже сильно оптимизированный.
Я думаю, уродливым решением было бы иметь js-сниппеты, встроенные в html, которые форматируют элементы по мере их загрузки браузером. Пожалуйста, не делайте этого.
То, что скрывает css-эквивалент hide, зависит от того, как ваш js покажет это позже, но, как правило, display:none
или visibility:hidden
. Элемент также может быть удален с экрана с отрицательными позициями, как в position:absolute;left:-1000px;
Ответ №3:
Вы должны сделать свой HTML DOM меньше и проще, чтобы он загружался быстрее.