Internet Windows Android

Funcții Javascript Cum se rulează o funcție la încărcarea paginii? Js rulează o funcție când pagina este încărcată.



apăsarea butonului la încărcarea paginii (4)

Vreau să rulez o funcție când pagina este încărcată, dar nu vreau să o folosesc în .

Am un script care rulează dacă îl inițializez în , de exemplu:

Cod funcțieAdresă() ( // cod )

Dar vreau să-l rulez fără și am încercat multe lucruri, de exemplu:

Window.onload = codeAddress;

Dar nu merge.

Deci, cum îl declanșez la încărcarea paginii?

window.onload = function() ( ... etc. nu este un răspuns grozav.

Acest lucru va funcționa probabil, dar va întrerupe și orice alte funcții deja conectate la acest eveniment. Sau, dacă o altă funcție prinde acest eveniment după a ta, se va rupe. Deci, puteți petrece multe ore mai târziu încercând să vă dați seama de ce ceva care a funcționat nu mai există.

Un răspuns mai de încredere aici:

If(window.attachEvent) ( window.attachEvent("onload", yourFunctionName); ) else ( if(window.onload) (var curronload = window.onload; var newonload = function(evt) ( curronload(evt); yourFunctionName( evt); window.onload = newonload else (window.onload = yourFunctionName; )

Un cod pe care l-am folosit, am uitat unde l-am găsit pentru a da credit autorului.

Funcția my_function() ( // orice cod vreau să rulez după încărcarea paginii ) if (window.attachEvent) (window.attachEvent("onload", my_function);) else if (window.addEventListener) (window.addEventListener("load) ", my_function, false);) else (document.addEventListener ("încărcare", my_function, false);)

Sper că acest lucru vă ajută :)

În loc să folosească jQuery sau window.onload, JavaScript nativ a adoptat câteva caracteristici excelente de la lansarea jQuery. Toate browserele moderne au acum propria lor funcție gata DOM fără a utiliza biblioteca jQuery.

Document.addEventListener("DOMContentLoaded", function() ( alert("Gata!"); ), false);

window.onload = codAdresa; ar trebui să funcționeze - iar codul complet este:

Funcția de testare codeAddress() ( alert("ok"); ) window.onload = codeAddress;

Funcția de testare codAdresă() ( alertă(„ok”); )

Aruncați o privire la scriptul domReady, care vă permite să configurați mai multe funcții pentru a rula atunci când DOM-ul este încărcat. Acest lucru este practic ceea ce Dom este gata să facă în multe biblioteci JavaScript populare, dar este ușor și poate fi adoptat și adăugat la începutul fișierului script extern.

Exemplu de utilizare

// adaugă referință la scriptul domReady sau plasează // conținutul scriptului înainte de aici funcția codeAddress() ( ) domReady(codeAddress);

Astăzi vreau să vorbesc despre o problemă care apare adesea în rândul persoanelor care încep să învețe Javascript.

Ei încearcă să interacționeze cu elemente HTML de pe pagină care sunt mai jos în cod decât scriptul în sine. În consecință, scriptul a fost deja încărcat, dar elementul cu care va trebui să interacționați încă nu a fost încărcat. Din acest motiv, nimic nu va funcționa.

Particularitatea limbajului Javascript este că codul său este executat secvenţial, rând cu linie, aşa cum sunt scrise în codul sursă.

Iată un exemplu:

Document fără titlu

Regula css (culoare-fond:galben) nu va fi aplicată elementului cu id #block, deoarece linia

$("#block").css("culoare-fond", "galben");

Va fi executat înainte ca linia html să fie încărcată:

Ce se întâmplă dacă trebuie să executăm cod sau funcție numai după ce întregul document s-a încărcat complet?

Vreau să vorbesc despre trei moduri prin care poți face asta.

1 cale. Folosind biblioteca Jquery.

Cel mai adesea o folosesc eu, este cea mai simplă și mai convenabilă soluție, dar necesită conectarea bibliotecii Jquery.

Iată cum va fi transformat codul anterior dacă folosim următoarea metodă.

#block (lățime:100px; înălțime:100px; chenar:1px solid #ccc;) $(document).gata (funcție())( $("#block").css("culoare de fundal", "galben" ) ; )); Document fără titlu

Metoda 2. Folosind elementul body și atributul onload.

#block (lățime:100px; înălțime:100px; chenar:1px solid #ccc;) funcția funonload() ( $("#block").css("culoarea fundalului", "galben"); ) Document fără titlu

3 căi. Utilizarea obiectului fereastră și a proprietății sale onload.

#block (lățime:100px; înălțime:100px; chenar:1px solid #ccc;) funcția funonload() ( $("#block").css("culoarea fundalului", "galben"); ) window.onload = funonload; Document fără titlu

Alege metoda care se potrivește cel mai bine situației tale și pune-o în practică.

Dacă cunoașteți deja JavaScript mai mult sau mai puțin, atunci probabil ați auzit despre manipulatorul de evenimente Load, care se numește onload. Acest eveniment este declanșat direct când pagina este încărcată. Și de foarte multe ori, atunci când pagina se încarcă, trebuie executată o anumită funcție. Dar ce se întâmplă dacă trebuie să rulați mai multe funcții JavaScript? De fapt, această întrebare a fost pusă de unul dintre utilizatorii site-ului. Prin urmare, voi scrie despre lansarea mai multor funcții în onload în acest articol.

Soluția este cu adevărat banală, rulați doar o funcție în care sunt lansate toate celelalte funcții necesare:



funcția a() (
b()
c();
}
funcția b() (
alert("Funcția b() a început");
}
funcția c() (
alert("Funcția c() a început");
}



Dacă deschideți această pagină (nu există lucruri atât de importante precum eticheta html sau, de exemplu, titlul și codificarea paginii, pentru a simplifica înțelegerea codului), veți vedea cum b() și c Funcțiile () funcționează când pagina se încarcă.