Volanie funkcie pri načítaní stránky javascript. Spustenie viacerých funkcií pri načítaní

Ak už viete viac menej JavaScript, potom ste už pravdepodobne počuli o obsluhe udalosti naložiť, ktorá sa volá načítať. Táto udalosť sa spustí okamžite po načítaní stránky. A veľmi často sa musí pri načítaní stránky vykonať nejaká funkcia. Ale čo ak potrebujete spustiť viacero funkcií javascriptu? V skutočnosti túto otázku položil jeden z používateľov na stránke. Preto asi spustenie viacerých funkcií pri načítaní, napíšem v tomto článku.

Riešenie je naozaj triviálne, stačí spustiť funkciu, ktorá spustí všetky potrebné ďalšie funkcie:





Ak je otvorený táto strana(neexistujú také dôležité veci ako značky html alebo napríklad názov a kódovanie stránky, aby ste zjednodušili pochopenie kódu), uvidíte, ako budú funkcie fungovať po načítaní stránky b() A c().



kliknutie na tlačidlo na načítanie stránky (4)

Chcem spustiť funkciu pri načítaní stránky, ale nechcem ju používať .

Mám skript, ktorý sa spustí, ak ho inicializujem , napríklad:

Kód funkcieAdresa() ( // kód )

Ale chcem to spustiť bez a skúšal som veľa vecí ako:

Window.onload = codeAddress;

Ale to nejde.

Ako to teda spustím pri načítaní stránky?

window.onload = function() ( ...atď nie je skvelá odpoveď.

Pravdepodobne to bude fungovať, ale naruší to aj všetky ostatné funkcie, ktoré sa už do tejto udalosti zapájajú. Alebo ak sa k tejto udalosti pripojí iná funkcia po vašej, pokazí sa. Takže môžete stráviť mnoho hodín neskôr hľadaním toho, prečo niečo, čo funguje, už neexistuje.

Podrobnejšia odpoveď tu:

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; ) )

Nejaký kód som zabudol, kde som ho našiel, aby som uviedol autora.

Funkcia my_function() ( // akýkoľvek kód, ktorý chcem spustiť po načítaní stránky ) if (window.attachEvent) (window.attachEvent("onload", moja_funkcia);) else if (window.addEventListener) (window.addEventListener("load ", my_function, false);) else (document.addEventListener("load", my_function, false);)

Dúfam, že to pomôže :)

Namiesto používania jQuery alebo window.onload si natívny JavaScript od vydania jQuery osvojil niekoľko skvelých funkcií. Každý má moderné prehliadače teraz je to tak vlastnú funkciu DOM pripravený bez použitia knižnice jQuery.

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

window.onload = codeAddress; - mal by fungovať a celý kód je:

testovať

testovať

Pozrite sa na skript domReady, ktorý vám umožňuje nastaviť niekoľko funkcií, ktoré sa spustia pri načítaní modelu DOM. Toto je v podstate to, čo je Dom pripravený urobiť v mnohých populárnych knižniciach JavaScript, ale je ľahký a možno ho prevziať a pridať na začiatku externý súbor skript.

Príklad použitia

// pridajte odkaz na skript domReady alebo umiestnite // obsah skriptu pred sem funkcia codeAddress() ( ) domReady(codeAddress);

Dnes chcem hovoriť o jednom probléme, ktorý sa často vyskytuje u ľudí, ktorí sa začínajú učiť Javascript.

Snažia sa interagovať s prvkami HTML na stránke, ktoré majú nižší kód ako samotný skript. V súlade s tým sa skript už načítal, ale prvok, s ktorým budete musieť interagovať, ešte nie. Z tohto dôvodu nebude nič fungovať.

Zvláštnosť jazyk Javascript v tom, že jeho kód sa vykonáva postupne, riadok po riadku, ako sú napísané v zdrojovom kóde.

Tu je príklad:

Dokument bez názvu

css pravidlo (background-color:yellow) sa nepoužije na prvok s id #block, pretože riadok

$("#blok").css("farba-pozadia", "zlta");

Vykoná sa pred načítaním riadku html:

Čo ak potrebujeme spustiť kód alebo funkciu až po úplnom načítaní celého dokumentu?

Chcem hovoriť o troch spôsoboch, ako to možno urobiť.

1 spôsob. Pomocou knižnice jquery.

Najčastejšie to používam sám, najjednoduchšie a najpohodlnejšie riešenie, ale vyžaduje pripojenie knižnice Jquery.

Tu je návod, ako bude predchádzajúci kód transformovaný, ak použijeme nasledujúcu metódu.

Dokument bez názvu

2 spôsobom. S prvkom body a atribútom onload.

Dokument bez názvu

3 spôsob. S objektom okna a jeho vlastnosťou onload.

Dokument bez názvu

Vyberte si metódu, ktorá najlepšie vyhovuje vašej situácii a zaveďte ju do praxe.