izvajanje funkcije po celotnem nalaganju strani

Uporabljam naslednjo kodo za izvajanje nekaterih stavkov po nalaganju strani.

 <script type="text/javascript">
    window.onload = function () { 

        newInvite();
        document.ag.src="b.jpg";
    }
</script>

Vendar ta koda ne deluje pravilno. Funkcija se pokliče, tudi če se nalagajo nekatere slike ali elementi. Želim, da se funkcija pokliče, ko je stran v celoti naložena.

to lahko deluje za vas:

document.addEventListener('DOMContentLoaded', function() {
   // your code here
}, false);

ali če je vaše udobje z jquery,

$(document).ready(function(){
// your code
});

$(document).ready() se sproži ob dogodku DOMContentLoaded, vendar se ta dogodek med brskalniki ne sproži dosledno. Zato bo jQuery najverjetneje implementiral nekaj težkih obvozov za podporo vsem brskalnikom. Zaradi tega bo zelo težko simulirati obnašanje z uporabo navadnega Javascripta (vendar seveda ne nemogoče).

Kot sta predlagala Jeffrey Sweeney in J. Torres, menim, da je bolje imeti funkcijo setTimeout, preden se sproži funkcija, kot spodaj:

setTimeout(function(){
 //your code here
}, 3000);
Komentarji (11)

Če lahko uporabite jQuery, si oglejte load. Svojo funkcijo lahko nastavite tako, da se zažene, ko se element konča nalaganje.

Na primer, upoštevajte stran s preprosto sliko:

![Book](book.png)

Izvajalec dogodka je lahko vezan na sliko:

$('#book').load(function() {
  // Handler for .load() called.
});

Če želite, da se naložijo vsi elementi v trenutnem oknu, lahko uporabite

$(window).load(function () {
  // run code
});
Komentarji (6)

Poskusite to jQuery:

$(function() {
 // Handler for .ready() called.
});
Komentarji (1)