Почему мой модал не открывается в мертвой точке окна? - PullRequest
0 голосов
/ 10 февраля 2012

Я сталкиваюсь с ошибкой, когда мой модал не открывается в центральном окне.Код, который я сейчас использую для измерения середины, выглядит следующим образом:

var id = j('#share-modal');

// show modal, resize
j(id).css('top',  j(window).height()/2-j(id).height()/2);                 
j(id).css('left', j(window).width()/2-j(id).width()/2);

j('#share-modal').fadeIn(500);


 CSS

#share-modal {
    display: none;
    font-family: Arial, sans-serif;
    width: 537px;
    height: 510px;
    position: absolute;
    background: #FFF;
    z-index: 100;
    box-shadow: 3px 3px 3px #333;
    -moz-border-radius: 15px;
    -webkit-border-radius: 15px;
}

Это единственный код, который я положил, который должен центрировать код, ноЯ не могу сказать, мешает ли что-то еще.

Посмотреть мой Javascript здесь: http://pastebin.com/wZeY5azT

Вы можете посмотреть его здесь: www.paultibbs.com / varier

Прокрутите вниз и нажмите кнопку «Поделиться с другом».

Если кто-нибудь может помочь мне решить эту ошибку, я был бы очень признателен!

Ответы [ 2 ]

1 голос
/ 10 февраля 2012

Из документов jQuery:

var height = $(window).height();
var scrollTop = $(window).scrollTop();

http://docs.jquery.com/CSS/scrollTop
http://docs.jquery.com/CSS/height

через Как определить высоту и положение прокрутки окна в jQuery

1 голос
/ 10 февраля 2012

Вам необходимо принять во внимание положение прокрутки.

// Add the pageYOffset should fix the problem
j(id).css('top',  (j(window).height()/2-j(id).height()/2) + window.pageYOffset);

Вам также придется следить за событием прокрутки и восстанавливать позицию в случае, если они прокручиваются вверх и вниз.

...