Avatar billede danm Nybegynder
18. marts 2008 - 22:47 Der er 4 kommentarer og
1 løsning

centrere et flydende lag på siden i både IE6, IE7 og firefox

centrere et flydende lag på siden i både IE6, IE7 og firefox

Ja

Jeg vil gerne lave et popup (i form af et lag med stylen "position: absolute") der bliver centreret på siden, både langs x og y aksen. Jeg har bare lige svært ved at finde helt ud af det.

Nogen der har et script til at ligge, der kan centrere et div i både IE6, IE7 og firefix?
Avatar billede roenving Novice
19. marts 2008 - 00:35 #1
Hvad med http://www.wpdfd.com/editorial/thebox/deadcentre4.html (jeg har ikke prøvet den i ie7 !-)
Avatar billede keysersoze Ekspert
19. marts 2008 - 07:57 #2
deadcentre har nogle problemer - en anden mulighed http://web-dev.dk/post/2007/12/Absolut-centrering-af-hjemmeside-med-layers.aspx
Avatar billede olebole Juniormester
19. marts 2008 - 22:54 #3
<ole>

Jeg tror, I misforstår ønsket. Mon ikke, det er noget i denne stil, der efterspørges:

<script type="text/JavaScript">
function showPop() {
    var oPop = document.getElementById("pop"),
    css = oPop.style,
    oDoc = document.documentElement;
    css.top = (((oDoc.clientHeight-oPop.offsetHeight)/2)+oDoc.scrollTop) + "px";
    css.left = (((oDoc.clientWidth-oPop.offsetWidth)/2)+oDoc.scrollLeft) + "px";
    css.display = "block";
}
</script>

<div id="pop" style="position:absolute;background:yellow;z-index:1000;display:none"
    onclick="this.style.display='none'">Blablabla ...<p><b>Klik for at gemme mig</b></p></div>

<button onclick="showPop()">Open Pop</button>
<div style="height:3000px">Højt indhold</div>
<button onclick="showPop()">Open Pop</button>

/mvh
</bole>
Avatar billede keysersoze Ekspert
15. maj 2008 - 12:51 #4
kommet videre?
Avatar billede danm Nybegynder
16. maj 2008 - 00:17 #5
Ja, men typisk mig har jeg fuldstændig glemt at vende tilbage til tråden... Efter megen søgen og læsen fandt jeg frem til et script der virker til alle de browsere jeg har testet indtil videre.
Denne function giver mig vinduestørrelse:

function vindue_storXY() {
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }
  return [myWidth, myHeight];
};

Og denne giver mig længden af hvor langt der er scrollet:

function vindue_scrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return [scrOfX, scrOfY];
}

Og så er resten jo ellers bare simpel matematik..

Beklager jeg ikke lige har fået lukket tråden noget før. Ellers tak for forsøg på at hjælpe.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester