Ho una pagina Web che utilizza pesantemente jQuery.Nascondere la pagina finché non è stato caricato tutto Avanzato
Il mio obiettivo è mostrare la pagina solo quando tutto è pronto.
Con ciò voglio evitare di mostrare all'utente il fastidioso rendering delle pagine.
Ho provato questo finora (#body_holder
è un avvolgimento interno corpo):
$(function(){
$('#body_holder').hide();
});
$(window).load(function() {
$("#body_holder").show();
});
Questo funziona completamente soddisfacente, ma scombina il layout.
Il problema è che nascondere il wrapper interferisce con le altre funzioni jQuery e plug-in utilizzati (es. Layout-plugin).
Quindi immagino ci sia un altro trucco per farlo. Forse posare una foto o div sul corpo fino a quando window.load si è verificato?
Quali approcci usi?
EDIT:
La soluzione più probabile deve essere un altro modo di display:none
o hide()
;
Avete pensato di usare i CSS per applicare un display: none al #body_holder, quindi utilizzando $ (document) .ready (function() {$ ("# body_holder") .mostrare(); }); per renderlo visibile una volta che il DOM è pronto? – Ohgodwhy
Se si specificano le dimensioni dell'immagine nel codice HTML, la pagina non sarà così fastidiosamente 'nervosa' quando viene caricata la pagina. Se lo fai bene, il rendering sarà probabilmente molto meno fastidioso di dover aspettare che tutto venga caricato prima di poter vedere o fare qualcosa. Per favore ripensaci se vuoi davvero farlo. – GolezTrol
@Ohgodwhy sì. questo è in realtà il primo che ho provato. display: nessuno sul corpo. ma è lo stesso del mio esempio. problema ancora lo stesso. si nasconde ma mostra il layout e tutte le altre cose sono incasinate. – Email