strana situazione:Come caricare una funzione jQuery solo dopo che il documento finitura carico
Sto costruendo una barra dei menu utilizzando jQuery
e CSS
.
Nel mio file JavaScript, ho una funzione di on-ready
in questo modo:
$(document).ready(function(e) {
mark_active_menu();
}
e ...
function mark_active_menu() {
var elementWidth = $("nav li").width();
alert(elementWidth);
}
Per qualche ragione, anche prima tutto la finitura del documento di carico, sono ricevere il messaggio di avviso con una larghezza errata. Solo quando rilascio il messaggio, il resto del documento viene caricato e sto ottenendo la larghezza corretta come dovrebbe essere.
Perché la mia funzione viene chiamata PRIMA di caricare tutto il documento? C'è un modo per caricare la funzione solo DOPO che un certo elemento ha completato il caricamento (Esempio: l'elemento nav
)?
viene caricata parti del documento con l'Ajax? –
Puoi agganciare a '$ (window) .on ('ridimensiona', fn)' o '$ (window) .on ('load', fn)'. –
Inoltre, il metodo 'ready()' non viene passato a eventObject, ma piuttosto all'oggetto jQuery stesso. –