Gå til innhold

Enda en IE bøgg, eller?


Anbefalte innlegg

Hei,

 

Driver å lager denne simulatorgreia av noe slag i JavaScript, og irriterer meg over at den bare funker i Firefox. Hva er det IE ikke støtter som jeg kan forandre på for å få den til å funke... Den vil ikke tegne arenaen hvis størrelse (les: width, height) blir satt dynamisk i scriptet...

 

PhysX

 

Takk for informative svar!

 

Lost

Endret av LostOblivion
Lenke til kommentar
Videoannonse
Annonse

Får du noen feilmeldinger i IE? Alt står stille i Opera. Hva er det som skal sette ting i bevegelse?

 

I move-funksjonen til Sphere setter du ny posisjon:

 

this.handle.style.left = Math.floor(arena.width / 2 + xpos - radius) + "px;"
this.handle.style.top = Math.floor(arena.height / 2 + ypos - radius) + "px;";

 

Jeg reagerer på de ekstra semikolon-tegnene i benevningene. Burde ikke de bort, slik at benevningene blir "px"?

Endret av balletryne
Lenke til kommentar

Jo. Semikolonene trenger ikke være der egentlig... Problemet med IE er at den ikke utfører dette av en eller annen grunn...

 

arena.width = 1000;

arena.height = 600;

arena.handle = document.getElementById("arena");

 

arena.handle.style.width = arena.width + "px";

arena.handle.style.height = arena.height + "px";

 

Så man ser ikke arenaen... Meningen er at man skal kunne trykke på startknappen, så vil scriptet simulere et slingshot rundt Jupiter... Kommer an på hva man setter inn som objects og meters_per_pixel etc... Kan simulere baller som treffer hverandre også...

 

Driver å lærer meg Java akkurat nå, så kanskje jeg ikke bryr meg så mye med bøggfiksing i IE for JavaScript etterhvert. Heheh. Java er faktisk ganske likt JavaScript sin implementasjon for nodes.

Lenke til kommentar

Du har <div id="arena"> og i js-koden sier du arena = new Object;. IE tolker her arena-variabelen som en referanse til arena-elementet i steden for en vanlig variabel. Derfor klager IE på denne linjen hvor du da prøver å omdefinere arena-elementet til et nytt objekt. Der har du IE-bøggen din :p. Et lite id-skifte gjør susen.

 

Så har du i Sphere-klassen din, der du oppretter selve bildeelementet, der skal du bytte ut class med className. className er den korrekte måten å angi/adressere class-attributtet på i JavaScript.

 

Dermed fungerer det i IE7 hos meg.

Endret av balletryne
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...