Funkcijas izsaukšana, kad tiek ielādēta JavaScript lapa. Vairāku funkciju palaišana ielādes laikā

Ja jau vairāk vai mazāk zini JavaScript, tad droši vien esat dzirdējis par notikumu apstrādātāju Ielādēt ko sauc ielāde... Šis notikums tiek aktivizēts uzreiz, kad lapa tiek ielādēta. Un ļoti bieži, kad lapa tiek ielādēta, ir jāizpilda kāda funkcija. Bet ko darīt, ja jums tas ir nepieciešams palaist vairākas JavaScript funkcijas? Patiesībā šādu jautājumu uzdeva viens no vietnes lietotājiem. Tāpēc par vairāku funkciju palaišana ielādes laikā, Es rakstīšu šajā rakstā.

Risinājums patiešām ir triviāls, pietiek ar funkcijas palaišanu, kurā tiek palaistas visas nepieciešamās citas funkcijas:





Ja atverat šo lapu(nav tādu svarīgu lietu kā atzīme html vai, piemēram, lapas virsraksts un kodējums, lai kods būtu vieglāk saprotams), redzēsiet, kā funkcijas darbosies, kad lapa tiks ielādēta b () un c ().



noklikšķinot uz pogas, ielādējot lapu (4)

Es vēlos palaist funkciju, kad lapa ir ielādēta, bet nevēlos to izmantot .

Man ir skripts, kas darbojas, ja to inicializēju , piemēram:

Funkcijas kodsAdrese () (// kods)

Bet es gribu palaist bez un es mēģināju daudzas lietas, piemēram:

Window.onload = koda adrese;

Bet tas nedarbojas.

Tātad, kā panākt, lai tas darbotos lapas ielādes laikā?

window.onload = funkcija () (... utt. nav lieliska atbilde.

Tas, iespējams, darbosies, taču pārtrauks arī jebkuru citu funkcionalitāti, kas jau ir savienota ar šo notikumu. Vai arī, ja cita funkcija uztver šo notikumu pēc jūsu, tā pārtrauks. Tātad jūs varat pavadīt daudzas stundas vēlāk, mēģinot noskaidrot, kāpēc kaut kas, kas darbojas, vairs nepastāv.

Drošāka atbilde šeit:

If (window.attachEvent) (window.attachEvent ("ielādēt", yourFunctionName);) else (if (window.onload) (var curronload = window.onload; var newonload = funkcija (evt) (curronload (evt); yourFunctionName () evt);); window.onload = newonload;) else (window.onload = yourFunctionName;))

Kāds kods, ko izmantoju, aizmirsu, kur to atradu, lai piešķirtu autoram godu.

Funkcija my_function () (// kāds kods, kuru vēlos palaist pēc lapas ielādes) if (window.attachEvent) (window.attachEvent ("ielādēt", my_function);) else if (window.addEventListener) (window.addEventListener ("load ", mana_funkcija, false);) else (document.addEventListener (" load ", my_function, false);)

Ceru tas palīdzēs :)

Tā vietā, lai izmantotu jQuery vai window.onload, vietējais JavaScript ir pārņēmis dažas lieliskas funkcionalitātes kopš jQuery izlaišanas. Ikvienam ir modernās pārlūkprogrammas tagad ir sava DOM gatavības funkcija, neizmantojot jQuery bibliotēku.

Document.addEventListener ("DOMContentLoaded", funkcija () (brīdinājums ("Gatavs!");), False);

window.onload = codeAddress; vajadzētu darboties - un pilns kods ir:

Pārbaude

Pārbaude

Apskatiet domReady skriptu, kas ļauj konfigurēt vairākas funkcijas, kas jāizpilda, kad tiek ielādēts DOM. Būtībā tas ir tas, ko Doms vēlas darīt daudzās populārās JavaScript bibliotēkās, taču tas ir viegls, un to var paņemt un pievienot programmas sākumā. ārējais fails skripts.

Lietošanas piemērs

// pievienot atsauci uz domReady skriptu vai ievietot // skripta saturu pirms šeit funkcija codeAddress () () domReady (codeAddress);

Šodien es vēlos runāt par vienu problēmu, kas bieži rodas cilvēkiem, kuri sāk apgūt Javascript.

Viņi mēģina mijiedarboties ar HTML elementiem lapā, kuru kods ir zemāks par pašu skriptu. Attiecīgi skripts jau ir ielādēts, bet elementa, ar kuru mijiedarboties, vēl nav. Šī iemesla dēļ nekas nedarbosies.

Savdabība Javascript valoda jo tā kods tiek izpildīts secīgi, rindiņu pa rindiņai, kā tie ir rakstīti pirmkodā.

Šeit ir piemērs:

Dokuments bez nosaukuma

CSS kārtula (fona krāsa: dzeltena) netiks piemērota elementam ar id #block, jo līnija

$ ("# bloks"). css ("fona krāsa", "dzeltens");

Tiks izpildīts pirms html rindas ielādes:

Ko darīt, ja mums ir jāizpilda kods vai funkcija tikai pēc tam, kad viss dokuments ir pilnībā ielādēts?

Es vēlos runāt par trim veidiem, kā to izdarīt.

1 veids. Izmantojot Jquery bibliotēku.

Visbiežāk izmantoju pats, vienkāršākais un ērtākais risinājums, bet tam ir jāpievieno Jquery bibliotēka.

Lūk, kā pārveidot iepriekšējo kodu, ja mēs izmantojam šādu metodi.

Dokuments bez nosaukuma

2. metode. Ar ķermeņa elementu un onload atribūtu.

Dokuments bez nosaukuma

3. metode. Logu objekta un tā ielādes rekvizītu izmantošana.

Dokuments bez nosaukuma

Izvēlieties metodi, kas vislabāk atbilst jūsu situācijai, un izmantojiet to praksē.