*   >> Lese Utdanning Artikler >> tech >> web development

jQuery Leksjon Series - 2

Kjører kode når siden er klar

Hvis du prøver å kjøre Javascript-kode som manipulerer enkelte elementer i web-siden uten å være sikker på at om elementene er lastet helt vil resultere i uventede utfall. For eksempel er det en P element som ID er "høydepunkt", mens lasting av siden du ønsker å bruke en bakgrunnsfarge på elementet. I en typisk løsning ved hjelp av generiske Javascript vil du gå for noe sånt som følgende:

 Var highlightDiv = document.getElementById ("høydepunkt"); if (typeof highlightDiv === "objekt") {highlightDiv.style.

bakgrunnsfarge = "gul"; highlightDiv.style.color = "blue"; highlightDiv.style.border = "1px solid rød";}

I koden ovenfor har vi brukt en bakgrunnsfarge, en 1px grensen i rød farge og gjort skriftfarge blå. Vær oppmerksom på at vi ikke trenger å gjøre dette som dette i stedet vi kan lage en klasse med bakgrunn gul farge, 1px grensen i rødt og farge i blått og bare bruke klassen. Men jeg vil bare demonstrere det punktet at jeg snakker om.

Anta at du utfører ovennevnte stykke kode før element belastninger i nettleseren.

Som du har tenkt denne koden vil ikke fungere som forventet og hoppe over den nødvendige utlegg. Den vanlige tilnærmingen er du plassere koden etter div element som det kommer til å utføre operasjonen.

En annen vanligste IE problemet før IE8 var "Operation aborterte" feil. I denne feilen et barn element forsøker å oppdatere sin overordnede før den overordnede element laster seg helt i DOM. For eksempel skriptet forsøker å sette inn et nytt element inn i kroppen element før kroppen laster i DOM helt.

Dette er stedet hvor onload tilfelle av vinduet objektet kommer hendig.

Lar undersøke et stykke eksempelkode:

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

Koden ovenfor er perfekt, og vil bli utført etter at DOM Loading fullført. Alt er i orden?

Nei det er fortsatt noen problemer i denne tilnærmingen

  • I ovennevnte måte bare denne delen av koden vil bli utført som hendelsesbehandling av onload ved vinduet objektet . Hvis det er noen andre vinduet onload hendelseshåndterer som siste styrer alle de andre.


  • Denne hendelsesbehandleren utfører når hele DOM lasting er over. Det inkluderer bilder. Bilder tar forskjellig tid for lasting basert på deres størrelse, nettleser, tilkoblingshastighet, etc. Så dette vil igjen forsinke gjennomføring av koden unødvend

    Page   <<       [1] [2] >>
  • Copyright © 2008 - 2016 Lese Utdanning Artikler,https://utdanning.nmjjxx.com All rights reserved.