Я использую jQuery для изменения стиля некоторых страниц в большом наборе существующих веб-страниц. Это работает, но проблема заключается в том, что для более длинных страниц страница на короткое время отображается с неправильными стилями, прежде чем javascript начнет и преобразует страницу.jQuery: Как остановить отображение страницы до тех пор, пока она не будет обработана?
Я использую этот вид вещи (оповещения только подчеркнуть проблему):
$(document).ready(function(){ ... alert("at this point the page is visible unstyled"); $('body').addClass('myStyle'); alert("now page looks like I want it to"); ... }
Как предотвратить браузер от не отображать страницу до $ (документ) .ready (функция() завершает
EDIT
Примечание: Я не могу изменить HTML страниц (они не мои) Все, что я могу сделать, это своп в качестве замены JavaScript-файл и работать с тем, что. уже в HTML-
Извините, я должен был сказать: я не могу изменить HTML-страницы (они не мои). Все, что я могу сделать, это своп в заменяемом файле JavaScript и работать с тем, что уже есть в HTML. – 2010-03-28 09:27:15
Просто опубликуйте тот же общий ответ. Я добавил стиль тега body и просто использовал $ («body»). Show(); для удаления дисплея: none ;. Быстрый тест показал, что он отлично работает как в FF 3.6, так и в IE8. –
Нет. Не работает, я только что протестировал его. Страница все еще отображается (* очень * кратко) до $ ('body'). Css ('display', 'none'); пинает и скрывает тело. Примечание: на небольшой странице это не видно, но на большой странице есть мерцание, когда один набор стилей изменяется на другой. Что происходит: 1. Отобразите страницу с ее оригинальными стилями; 2. Скрыть тело. 3. Покажите тело с новыми стилями. – 2010-03-28 11:56:24