19. juli 2004 - 00:17Der er
16 kommentarer og 1 løsning
Scroll-fejl i IE6?
Jeg er i gang med at arbejde på et system, og skal i denne forbindelse have en onscroll-funktion. Det kan jeg som sådan også sagtens finde ud af at lave, men der er et problem med den.
I det ene design virker det fint, men i det andet virker det overhovedet ikke. Er der nogle som kan fortælle mig hvorfor?
Længden burde bestemt ikke have noget at sige, så længe det kan scrolle, hvilket det kan. Jeg vil bestemt ikke kræve at en side _skal_ have en bestemt højde, hvis det skal virke. Det skal jo virke uanset om man kun kan scrolle en kvart skærm, eller 5 hele skærme.
Det var såmænd også for at få en chance for at pinpointe forskellen, men jeg prøvede så med forskellige skærmstørrelse ved load, og fandt ud af, at den korte side, som ikke havde scroll fra start, svarede hele tiden, når jeg reloadede i en mindre browser-størrelse !-)
Tjah, jeg fik konstateret, at IE ikke svarede, hvis den var sat i standards-mode både med html401 strict og transitional ...
Men bare hvis man fjernede dtd-linket virkede onscroll ...
-- og jeg brugte så ovenstående metode (kræver at scriptet først kommer efter </body> eller aktiveres onload !-), men er ret overbevist om at det ikke bliver anderledes, hvis man sætter event-kaldet i body !o]
Og også i strict 401, xhtml1 transitional og strict samt xhtml1.1 var den virksom, så det handler åbenbart om, at det er det rigtige html-DOM-element, som skal have eventen ...
(I øvrigt gælder f.eks. scroll-bar-properties også i IE, hvis man sætter dem på html-elementet i standards-mode, hvor de i quirks-mode skal sættes på body-elementet !-)
-- og jeg prøvede sågar at lave en validering med xhtml1.1 ...
-- der kræves det, at javascript-blokken står i head-sektionen, men ellers har det ikke nogen større betydning med en funktionstildeling som den ovenstående !-)
Lige en ting til, hvis du har tid.. Jeg afprøvede det på det design jeg linkede til, og det virkede fint, men da jeg så implementerede det i systemet, så virkede det ikke længere. Alle JavaScript funktioner er placeret i eksterne filer, så jeg tænkte på om dette kunne være problemet?
Hvis det er, hvad jeg kan så gøre, ud over at skulle indsætte JavaScript (eller JScript faktisk) direkte i filen, hvilket er det jeg prøver at undgå. Jeg kan desværre ikke poste et link til systemet endnu, da der kræves adgangskode til den sektion, men spørg gerne om noget, og jeg skal poste det jeg kan.
Hvis vi finder en løsning, og du har lyst, så skal du nok få flere point. Jeg har nok af dem, og at finde en løsning på de problemer jeg har, er uendeligt vigtigere end at have point her på Eksperten :)
Der er ingen HTML koder i JavaScript filerne, og alt andet JScript virker fint. Det er kun scrolling der ikke fungerer. Den kalder simpelthen ikke funktionen når jeg har et <!DOCTYPE> tag.
Det er underligt.. Hmm.. Jeg prøver lige at kigge lidt på det, men indtil videre har jeg fjernet DOCTYPE.
Synes godt om
Ny brugerNybegynder
Din løsning...
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.