05. juni 2004 - 13:46Der er
14 kommentarer og 1 løsning
Problemer med placering af div
Hejsa Jeg vil gerne have denne DIV placeret 140px fra toppen og i midden af skærmen uanset hvilken skærmstørrelse brugeren her: Mit forsøg ser sådan her ud: ------------- <DIV ID="favoritDIV" style="position: absolute; center: top: 140; visibility: hidden; width: 250; height: 71"> ----------------
Hvis man er scollet langt ned på en side på kommer boksen frem 140 px fra toppen af siden og ikke fra toppen af browseren - det betyder at er man scollet over 140px ned så kan man ikke se at boksen kommer frem...
Det så zq mærkeligt ud, for IE/Windows understøtter ikke position:fixed, som løser problemet i andre browsere, men den ville heller ikke svare på scrollTop, som ellers skulle være den rigtige værdi at lægge til ?-)
Men nogenlunde sådan virkede det, men ikke præcist ...
<script language="javascript" type="text/javascript"> var ie = (document.all)?true:false; var dt = new Array(); function init(){ if(ie){ d = document.getElementsByTagName('DIV'); for(i=0;d.length>i;i++){ if(d[i].style.position=='fixed'){ d[i].style.position='absolute'; dt[d[i].id] = parseInt(d[i].style.top); alert(d[i].id) } } } } function showDiv(id){ d = document.getElementById(id); if(ie){ d.style.top = dt[id] + document.body.scrollHeight - screen.availHeight + 190 + 'px'; } d.style.visibility='visible'; } </script>
<body onload="init()">
onclick="showDiv('favoritDIV')"
-- og de 190 skal sikkert være forskelligt efter folks aktuelle browser-indstillinger !-)
Jeg for en fejl på "Ugyldigt argument" på denne linie: ----------------- d.style.top = dt[id] + document.body.scrollHeight - screen.availHeight + 190 + 'px'; ------------------ og når jeg kører init() på onload får jeg fejlen objekt forventes
Okay - nu får jeg ingen fejl - men det virker lidt mærkeligt...
Boksen kommer nu frem langt nede på siden - og det er uanset om jeg er scollet helt i top eller i bund. Så nu er problemet omvendt - står man i toppen af siden kommer boksen frem så langt nede at man ikke kan se den...
Nu har jeg lavet det med en popud, så bliver boksen da ikke væk for brugerne, men det ville stadig være dejligt at vide om det kan lade sig gøre at placerer en DIV midt på skræmen - lige som nu en alert altid kommer præcist på midten
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.