2009-08-13 11 views

Odpowiedz

71

Aby uzyskać rozdzielczość ekranu w JS używać screen obiekt

screen.height; 
screen.width; 

oparciu o wartości, które można obliczyć margines cokolwiek ci pasuje.

+0

Właśnie uczę Javascript; Czy przypadkiem nie pokazałeś mi podejścia, które podjąłbyś, by obliczyć wysokość i dodać do niej pewien margines? Identyfikator elementu div, który dostosowuję, to "port-cont". –

+0

Cóż, masz podaną wysokość ekranu, musisz odjąć coś dla menu przeglądarki, paska stanu itp. Trudno powiedzieć, ile by to było, ponieważ zależy to od przeglądarki. Następnie powinieneś eksperymentować z różnymi rozmiarami swoich elementów, dopóki nie poprawisz wyglądu witryny. Jeśli mogę zasugerować, nie wiem, czy JS jest tym, czego szukasz. Możesz po prostu ustawić wysokość w arkuszu stylów CSS na pewną wartość procentową, która zawsze będzie ustawiona poprawnie bez czytania rozdzielczości ekranu w JS. – RaYell

+1

http://api.jquery.com/height/ – foxybagga

22

Oto przykład, w jaki sposób wyśrodkować obiekt w pionie z jQuery:

var div= $('#div_SomeDivYouWantToAdjust'); 
div.css("top", ($(window).height() - div.height())/2 + 'px'); 

ale można łatwo zmienić na cokolwiek są Twoje potrzeby.

5

Innym przykładem pionowo i poziomo środku div lub dowolnego obiektu (ów):

var obj = $("#divID"); 
var halfsc = $(window).height()/2; 
var halfh = $(obj).height()/2; 

var halfscrn = screen.width/2; 
var halfobj =$(obj).width()/2; 

var goRight = halfscrn - halfobj ; 
var goBottom = halfsc - halfh; 

$(obj).css({marginLeft: goRight }).css({marginTop: goBottom }); 
2
var space = $(window).height(); 
var diff = space - HEIGHT; 
var margin = (diff > 0) ? (space - HEIGHT)/2 : 0; 
$('#container').css({'margin-top': margin});