21. marts 2004 - 10:30Der er
12 kommentarer og 1 løsning
hvorfor følger menuen ikke med
jeg er ved at lave en webside i dhtml uden frames. Menuen ligger i ekstern javascript fil. Den hentes fint nok ind men klikker man på en knap, fremkommer den ønskede side godtnok men menuen er forsvundet. Her er min kode for menuen:(jeg har ikke kopieret styles med over)
Forøvrigt er det skørt at bruge className til at skifte class on-the-fly på allerede etablerede elementer, fordi det tvinger browseren til at smide sit css-DOM-træ ud og starte forfra med at bygge et nyt ...
-- du kan med større fordel udskifte de emkelt-properties, som rent faktisk bliver ændret !-)
Hvis du bruger en browser, som forstår css, opretter den ved load af siden et bibliotek over alle de elementer, som findes på siden ...
I det bibliotek beskrives det, hvordan hvert enkelt element skal vises udfra de styles, som er sktive for det pågældende element, evt. med de afvigelser, som forekommer f.eks. ved mouseover ...
Det hedder et css-DOM-træ, da styles ofte er afhængige af, hvilken position elementerne har indeni andre elementer (altså ligesom træstrukturen på f.eks. en harddisk !-)
Hvis du ændrer class på eet eneste element, vil browseren smide hele biblioteket ud og oprette det forfra, hvilket selvsagt ikke er særligt optimalt ...
På de fleste hjemmesider vil dette træ dog være så lille, at man ikke vil opdage, at operationen udføres, men har man nogle forskellige ting inde i hinanden, og den nesting er bare lidt dyb, vil opdateringen se mærkelig ud, da der vil være en 'uforklarlig' forsinkelse ...
Hvis du så kigger på forskellen mellem de to classes, menuAktiv og menu, vil du sikkert se, at der højest er to eller tre properties, som er forskellige, og så kan man meget hurtigere nøjes med at udskifte dem, f.eks.
På den måde skal der blot udskiftes et par stykker papir i biblioteket, og browseren behøver ikke trække alle bøgerne ud fra hylderne for at finde ud af, hvilken rækkefølge de skal stå i !-)
jeg ved ikke hvad der er galt men ligemeget hvad jeg forsøger så kan jeg ikke acceptere dit svar. Den går bare tilbage igen og skriver det er ikke accepteret.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.