Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Fleury

Como centralizar layer...

Recommended Posts

Como achar independente da resolucao e da posicação do scroll, o centro?Quero isso para exibir uma layer... Lembrando que se eu movi o scroll da página para baixo ou para a direita, quando a layer for exibida, ela n pode ser exibida lá encima ou na direita e sim no centro da parte que eu estou visualizando no momento.Se alguem entender e souber, eu agradeço a ajuda XDAbraços, T+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Centralizar eu consegui...

Em uma layer com position absolute eu defini "top: 50%" e "left: 50%" e width e height definidos em pixels "200px" e "150px".

 

Depois para alinhar usei o codigo:

 

<script>	divOffsetTop = document.getElementById('meuLayer').offsetTop;	divMetAlt = document.getElementById('meuLayer').style.height.substring(0,document.getElementById('meuLayer').style.height.length-2)/2;	document.getElementById('meuLayer').style.top = divOffsetTop - divMetAlt;		divOffsetLeft = document.getElementById('meuLayer').offsetLeft;	divMetLarg = document.getElementById('meuLayer').style.width.substring(0,document.getElementById('meuLayer').style.width.length-2)/2	document.getElementById('meuLayer').style.left = divOffsetLeft - divMetLarg;</script>

Abraços, T+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ae Adriano!

No seu exemplo tem uma falha e uma solução.

 

com

document.all['minhaLayer'].style.posLeft = document.body.scrollLeft + vLeft;document.all['minhaLayer'].style.posTop = document.body.scrollTop + vTop;
eu consigo resolver o problema do scroll

 

mas no posicionamento do div utilizando o body como referencia, se você tiver por exemplo 3 linhas no seu codigo, o top retornado vai ser algo em torno de 80 pixels. Ou seja, o body não pega a tela do browser toda e sim o tamanho embutido no body. Meio estranho isso mas o body não ocupa a tela toda dependendo o conteudo. Então:

 

<body>1<br>2<br>3<br></body>

document.body.clientHeight vai retornar por volta de 80 pixels e com isso a div vai ficar lá encima e não no centro da tela. Mas se a página tem conteudo suficiente para dar scroll na página, o código funcionar

Depois você testa isso XD

 

Abração e valeu pela dica ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.