Volání funkce při načtení stránky javascriptu. Spouštění více funkcí při načítání

Pokud už víte více či méně JavaScript, pak jste pravděpodobně slyšeli o obsluze události zatížení, který se nazývá načíst. Tato událost se spustí okamžitě po načtení stránky. A velmi často se při načítání stránky musí provést nějaká funkce. Ale co když potřebujete spustit více funkcí javascriptu? Ve skutečnosti tuto otázku položil jeden z uživatelů webu. Proto asi spouštění více funkcí při načítání, napíšu v tomto článku.

Řešení je opravdu triviální, stačí spustit funkci, která spouští všechny potřebné další funkce:





Pokud je otevřeno tato stránka(neexistují žádné tak důležité věci jako štítky html nebo například název a kódování stránky, aby se zjednodušilo pochopení kódu), uvidíte, jak budou funkce fungovat po načtení stránky b() a C().



tlačítko kliknout na načtení stránky (4)

Chci spustit funkci, když je stránka načtena, ale nechci ji používat .

Mám skript, který se spustí, pokud jej inicializuji , například:

Kód funkceAdresa() ( // kód )

Ale chci to provozovat bez a zkoušel jsem mnoho věcí jako:

Window.onload = codeAddress;

Ale to nejde.

Jak to tedy spustím při načtení stránky?

window.onload = function() ( ...atd není skvělá odpověď.

Pravděpodobně to bude fungovat, ale také to naruší všechny další funkce, které se již k této události připojují. Nebo pokud se na tuto událost zachytí jiná funkce po vaší, přeruší se. Takže můžete strávit mnoho hodin později snahou zjistit, proč něco, co funguje, už neexistuje.

Robustnější odpověď zde:

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

Nějaký kód, který jsem použil, zapomněl, kde jsem ho našel, abych uvedl autora.

Funkce my_function() ( // jakýkoli kód, který chci spustit po načtení stránky ) if (window.attachEvent) (window.attachEvent("onload", moje_funkce);) else if (window.addEventListener) (window.addEventListener("load ", moje_funkce, false);) else (document.addEventListener("načíst", moje_funkce, false);)

Snad to pomůže :)

Namísto použití jQuery nebo window.onload přijal nativní JavaScript od vydání jQuery některé skvělé funkce. Každý má moderní prohlížeče teď je vlastní funkce DOM připraven bez použití knihovny jQuery.

Document.addEventListener("DOMContentLoaded", function() ( alert("Připraveno!"); ), false);

window.onload = codeAddress; - mělo by fungovat a celý kód je:

test

test

Podívejte se na skript domReady, který vám umožňuje nastavit několik funkcí, které se mají spustit při načtení DOM. To je v podstatě to, co je Dom připraven udělat v mnoha populárních JavaScriptových knihovnách, ale je lehký a lze jej vzít a přidat na začátku vašeho externí soubor skript.

Příklad použití

// přidat odkaz na skript domReady nebo umístit // obsah skriptu před sem funkce codeAddress() ( ) domReady(codeAddress);

Dnes chci mluvit o jednom problému, který se často objevuje u lidí, kteří se začínají učit Javascript.

Snaží se interagovat s prvky HTML na stránce, které mají nižší kód než samotný skript. Skript se tedy již načetl, ale prvek, se kterým budete muset interagovat, ještě ne. Z tohoto důvodu nebude nic fungovat.

Zvláštnost jazyk Javascript v tom, že jeho kód je spouštěn postupně, řádek po řádku, jak jsou zapsány ve zdrojovém kódu.

Zde je příklad:

Dokument bez názvu

css pravidlo (background-color:yellow) se nepoužije na prvek s id #block, protože čára

$("#blok").css("barva-pozadi", "žlutá");

Bude provedeno před načtením řetězce html:

Co když potřebujeme provést kód nebo funkci až po úplném načtení celého dokumentu?

Chci mluvit o třech způsobech, jak toho lze dosáhnout.

1 způsob. Pomocí knihovny jquery.

Nejčastěji to používám sám, nejjednodušší a nejpohodlnější řešení, ale vyžaduje připojení knihovny Jquery.

Zde je návod, jak bude předchozí kód transformován, pokud použijeme následující metodu.

Dokument bez názvu

2 způsobem. S prvkem body a atributem onload.

Dokument bez názvu

3 způsob. S objektem window a jeho vlastností onload.

Dokument bez názvu

Vyberte si metodu, která nejlépe vyhovuje vaší situaci, a zaveďte ji do praxe.