Running koodi, kun sivu valmis
Jos yrität suorittaa JavaScript-koodin että manipuloi joitakin elementtejä sivun varmistamatta, että onko elementit ladataan täysin johtaa odottamattomia tuloksia. Esimerkiksi on P-elementti, jonka tunnus on "kohokohta" latauksessa sivun haluat käyttää taustan väri elementti. Tyypillisessä ratkaisu käyttäen geneerisiä JavaScriptin voisitte mennä jotain seuraavista:
var highlightDiv = document.getElementById ("kohokohta"), jos (typeof highlightDiv === "objekti") {highlightDiv.style. backgroundColor = "keltainen"; highlightDiv.style.color = "sininen"; highlightDiv.style.border = "1px solid punainen";}
Yllä koodi olemme soveltaa taustaväri, 1px raja punaisella ja teki fontin värin siniseksi. Huomaa, että meillä ei tarvitse tehdä tätä näin vaan voimme luoda luokan tausta väri keltainen, 1px raja punaisella ja väri sininen ja yksinkertaisesti soveltaa luokka. Mutta haluan vain osoittaa pisteeseen, että puhun.
Oletetaan, että olet täytäntöönpanosta edellä koodinpätkä ennen elementin kuormien selaimen. Kuten olet ajatellut tämä koodi ei toimi odotetusti ja ohittaa tarvittavat toteuttamista.
Yhteinen lähestymistapa on laitat koodin jälkeen div elementti, johon se aikoo suorittaa operaation.
Toinen yleisin IE siihen asti IE8 oli "Toimenpide keskeytetty" virheitä. Tässä virhe alielementti yrittää päivittää sen emoyhtiön ennen emoelementin täysin lataa itsensä DOM. Esimerkiksi skripti yrittää lisätä uusi elementti sisään runkoelementti ennen elin kuormia DOM täysin.
Tämä on paikka, jossa lataustapahtuman yhteydessä ikkunan objektin tulee kätevä. Lets tutkia pala näytteen koodi:
window.onload = function () {var d = document.createElement ("div"); d = "Test Data"; document.body.appendChild (d);}
Edellä oleva koodi on täydellinen ja toteutetaan jälkeen DOM Ladataan valmis. Kaikki on hyvin?
Ei on vielä joitakin kysymyksiä tämän lähestymistavan
Kuvat vie eri aikaa lastaukseen perustuu niiden koon, selain, yhteysnopeus, jne. Joten tämä taas viivästyttää täytäntöönpanon koodin tarpeettomasti.
jQuery kehys tarjoaa erittäin hy