Ja, jag vet att vi alla borde använda Mozille, Safari osv. Men 60-70% använder fortfarande Explorer och då är det bra att göra det så optimalt även där.
Jag har flera funktioner i Jquery som är uppbyggda med hjälp av hjälp av CSS och Jquery. I många fall där man ska göra animeringar, dölja objekt m.m. så visar Internet Explorer allt innan den tar hänsyn till både display:none; för CSS och $("något").hide() för Jquery.
I en del fall har jag löst vissa saker men som i en enkel tabfunktion fungerar det inte alls, ser bra ut i alla andra browsers men inte IE.
Ta en titt på detta så förstår ni vad jag menar (använd nu IE):
$(dom).hide() kör en css display none direkt, om du inte sätter några sekunder, så det spelar ingen roll oavsett webbläsare.
Det du upplever är att IE inte har en DOM-ready (inte i äldre versioner i alla fall), det du kan göra är i ren CSS döljar element direkt,
bästa sätt är att köra jquery koden så fort de element du vill påverkar att köra ditt javascript direkt efter, exempelvis:
Skillnaden är stor, det beror också på hur mycket innehåll du har i respektive tab och slide. Dessutom påverkar din internetanslutning ganska mycket. Vad som händer är att den staplar allt uppifrån och ner och snabbt därefter döljer det. Detsamma gäller med Cufonfonts, i IE laddar den cufon efter det att sidan laddats klart. Och ändå har jag Cufon.now(); längst ner på sidan.
Om du uppdaterar sidan gång på gång så märker du av skillnaden mellan IE och Firefox.
Nu är det inte så att man ska behöva ladda om sidan för att se problemet men problemet gör sig tydligare så.
Min header ser ut som följande om det kan ha någon betydelse.
Vad är problemet? Stora filer som du måste läsa in innan js rendera om sidan, ju mer skript du kör ju långsammare kommer IE ta, har inga problem med att köra mot webbsidorna som du länkar till. Ju färre http anrop du gör ju bättre, men hur sidan renderas beror hur/var du placera dina js koder, DomReady finns inte i äldre versioner av IE och kan om du ha otur triggars först vid body-onload eventet. Om du inte kan leva med det så få du placera dina jquery anrop som skall köras när elementen finns i DOM trädet, se mitt förra inlägg
260 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849