2013-07-04 20 views
5

Próbuję ręcznie uruchomić metodę $ (window) .resize() podczas ładowania strony. utworzonego funkcję centrum elementu div w pionie i poziomie na stronie

$(window).resize(function(){ 
    $('.pagecentered').css({ 
     position: 'absolute', 
     left: ($(window).width() - $('.pagecentered').outerWidth())/2, 
     top: ($(window).height() - $('.pagecentered').outerHeight())/2 
    }); 
}); 

Po tej czynności zgłoszę

$(window).resize(); 

ręcznie zwolnić zmiany rozmiaru (zdarzenia).

Niestety to nie działa. Podczas przeładowania element div nie jest wyśrodkowany zgodnie z oczekiwaniami. Jeśli zmieniam rozmiar okna przeglądarki, element div jest wyśrodkowany, ale nie jest uruchamiany przy ładowaniu strony.

Czy istnieje sposób rozwiązania tego problemu? używam Chrome 27.0.1453.116 m (najnowsza wersja ATM) i jQuery 1.10.2

+4

kod jest owinięty w dokumencie gotowy? – r043v

+1

Ah tak, to był problem. całkiem nowy w javascript ^^ dzięki r043v – TorbenJ

Odpowiedz

2

Trzeba użyć trigger: $(window).trigger('resize');

+7

To nie jest wymagane, ale kwestia stylu. Dokumentacja jest dość wyraźna - gdy jest używana bez parametrów, 'resize()' jest skrótem dla '.trigger ('resize')'. – nrodic

+1

Dlaczego to najlepsza odpowiedź? – Kad

+0

@Kad, ponieważ jest to jedyny .... żart ... –