Et javascript som finder midten af vinduet og dermed udregner position left af scrollbaren kunne jeg få til at virke, men hvis jeg så definerer positionerne i javascript hvor OldW er midten af browservinduet virker det ikke. Kan det ikke lade sig gøre?
Scrolleren jeg har linket til har defineret left position v.h.a. style attributten /inline.
Jeg vil gerne have scrolleren i midten af vinduet. Jeg har prøvet at definere left position v.h.a. javascript (som i ser øverst), men kan ikke rigtigt få det til at virke.
function checkWidth(){ var A = new Array(3); A[0] = document.body.scrollWidth; A[1] = document.body.offsetWidth; A[2] = document.documentElement.offsetWidth; var max = 0; for (i=0; i < A.length; i++) if (A[i] > max) max = A[i] return max; } var OldW = checkWidth();
ja tak... onresize virker ikke i Mozilla med xhtml-strict og Opera understøtter den vist slet ikke. Jeg fandt denne løsning på nettet, den virker i IE, men jeg kan ikke få den til at virke i Mozilla. checkWidth(); er funktionen lige ovenover:
var OldW = checkWidth(); var chkresizetimer;
function checkresize() { var NewW=checkWidth(); if (NewW==OldW){
Hov det er nok bare mig, hvis jeg skriver "window.onresize" så virker det i alle 3 browsere.
Der er nu stadig det problem med at sidens scroller flytter sig når man scroller det layer ned. Og en masse plads på siden i bunden som der helst ikkes skal være se http://www.fynboe.dk/test2/index2.htm
Nåå .... nu forstår jeg :) Du sætter bare 'position:relative' på content-laget. Jeg ved egentlig ikke, hvorfor han ikke har ændret det - men jeg tror ikke rigtig, han vedligeholder den længere :)
Har du prøvet at lægge hele scrolleren i et absolut positioneret div med overflow:hidden? Så skal alle 'stumperne' have de oprindelige left-/top-værdier - og det nye div skal placeres dynamisk i stedet. Det burde vel kunne gøre det i Opera :)
ok. Det er gjort, men det ser ikke ud til at spile nogen rolle i Opera. Desuden bliver det hele flyttet for langt ud til højre. Den tager left pos fra "globalcontainer"
Hvis jeg lægger talet fra vinduets scroller (document.body.scrollTop) sammen med tallet fra DHTML-scrolleren tror den jo at jeg har scrollet længere ned.
Jeg er temmelig sikker på, du har bevæget dig ud på for stor dybde ... jeg har ingen problemer med den i Opera. Den browser har mange fejl, men positionerede divs har den mig bekendt aldrig haft problemer med - hvis man bruger dem rigtigt :) /mvh
Ja, så _er_ du altså ude, hvor du ikke rigtig kan bunde. Eksemplet virker præcis, som det skal :) Et elements position tages altid efter det omkransende element, hvis dette er positioneret relativt eller absolut:
Er det ikke positioneret placeres div'et i forhold til body-elementet. Sådan fungerer positionering i CSS :) Derfor skrev jeg, som jeg gjorde: "Så skal alle 'stumperne' have de oprindelige left-/top-værdier" - underforstået: De skal ikke flyttes ind på midten ... det skal containeren. Alle scroller-stumper skal bare placeres i (0,0) - eller hvor du nu vil have dem placeret i forhold til contain'eren. /mvh
Men det ser ikke ud til at afhjælpe problemet med Opera. Den scroller længere nedad. Nu er det testet og virker den ihvertfald i IE 6.0 Windows, Mozilla 1.5 Windows Mozilla 1.6 Linux, Konqueror 3.2.0 Linux
Jeg sidder med IE 6.0 i xhtml-strict og har nu fået det til at virke. Der skal bruges: document.documentElement.scrollTop document.documentElement.scrollLeft
Der er både mulighed for at den bruger det ene og det andet. Jeg blev nødt til at omskrive den lidt. Den gav en fejlmelding da min IE bruger event og ikke e Jeg har prøvet:
<script> var X,Y
if (document.documentElement){ X = "document.documentElement" + document.documentElement.scrollTop; } if (document.body){ Y = "document.body" + document.body.scrollTop; } alert(X + " " + Y)
Gert's script har aldrig brugt 'e' for events i IE - så må du have lavet noget forkert. Du kan meget vel bruge 'documentElement', men du kan også sætte body- og html-elementet til 100%'s højde - som man plejer at gøre i HTML :)
Der er problemer med "up()" i IE 6.0 når jeg scroller "hænger den ved" selvom jeg slipper. Hvis jeg klikker en ekstra gang så lykkes det mig at "slippe den" igen.
Fino ... men den virkede nu 'fra fødslen' fint i IE, NS/Moz og Opera under Win og MacOS. For IE og NS helt tilbage til version 4. Men det er da godt, det virker for dig nu :) /mvh
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.