*   >> läser Utbildning artiklar >> tech >> web development

jQuery Lesson Series - 2

köra kod när sidan är redo Omdömen

Om du försöker att köra JavaScript-kod som manipulerar vissa element i webbsidan, utan att se till att om elementen laddas helt kommer att resultera i oväntade resultat. Till exempel finns det en P-element vars ID är "highlight" vid inläsning den sida du vill använda en bakgrundsfärg på elementet. I en typisk lösning med hjälp av generiska JavaScript du skulle gå för något som följande:

 var highlightDiv = document.getElementById ("highlight"), om (typeof highlightDiv === "objekt") {highlightDiv.style.

background = "yellow"; highlightDiv.style.color = "blue"; highlightDiv.style.border = "1px solid röd";}

I ovanstående kod vi har tillämpat en bakgrundsfärg, en 1px gränsen i röd färg och gjorde font color blå. Observera att vi inte behöver göra det så här i stället kan vi skapa en klass med en bakgrundsfärg gul, 1px gränsen i rött och färg i blått och helt enkelt använda klassen. Men jag vill bara visa den grad att jag talar om. Omdömen

Antag att du utför ovanstående kodsnutt innan element läses in i webbläsaren.

Som du har tänkt den här koden inte fungerar som förväntat och hoppa över utförandet som krävs. Den gemensamma strategin är att du placera koden efter div-elementet som det kommer att utföra operationen.

En annan vanligaste IE utfärdandet till IE8 var "Åtgärden avbröts" fel. I detta fel ett underordnat element försöker uppdatera sin förälder innan det överordnade elementet laddar sig fullständigt i DOM. Till exempel skriptet försöker infoga ett nytt element in i stomelementet innan kroppsbelastningar i DOM helt.

Omdömen

Det här är den plats där onload-händelse i fönstret objektet kommer praktiskt. Låt oss undersöka en bit exempelkod:

 window.onload = function () {var d = document.createElement ("div"); d = "testdata"; document.body.appendChild (d);} 

Ovanstående kod är perfekt och kommer att genomföras efter DOM Laddar klar. Allt är bra? Omdömen

Nej det finns fortfarande vissa problem i detta synsätt

  • I ovanstående sätt endast denna del av koden kommer att genomföras som händelsehanteraren av onload-händelse av fönsterobjekt .

    Om det finns något annat fönster onload händelsehanterare som sista åsidosätter alla de andra.

  • Denna händelse handler utför efter det att fullständig DOM belastningen är över. Den innehåller bilder. Bilder tar olika tid för lastning baserat på deras storlek, webbläsare, anslutningshastighet, etc. Så det här kommer åt

    Page   <<       [1] [2] >>
  • Copyright © 2008 - 2016 läser Utbildning artiklar,https://utbildning.nmjjxx.com All rights reserved.