Как центрировать относительно позиционированный элемент с помощью jquery? - PullRequest
0 голосов
/ 24 сентября 2011

Я пытаюсь создать функцию, которая возвращает «какое левое значение должно быть в центре текущего элемента». Это позволяет мне анимировать по центру (и обратно) или просто центрировать элемент.

У меня проблемы с относительным позиционированием. Что я пропустил?

Спасибо!


jQuery.fn.centerHorizontalOffset = function () {
    var position = $(this).css("position");
    if (position == "relative"){
        return (($(window).width() - $(this).width()) / 2) - $(this).parent().offset().left;
    } else if (position == "absolute"){
        return ($(window).width() - $(this).width()) / 2;
    }
    return ($(window).width() - $(this).width()) / 2;
}
jQuery.fn.centerHorizontalDistance = function () {
    return $(this).centerHorizontalOffset()-$(this).position().left;
}
$('#myDiv').css('left', $('#myDiv').centerHorizontalDistance());

1 Ответ

0 голосов
/ 24 сентября 2011

Я хотел бы изучить использование нового плагина "Position" в пользовательском интерфейсе jQuery: http://jqueryui.com/demos/position/ - он отлично справляется именно с тем, что вам нужно.

... я знаю, что это не прямой ответ на ваш вопрос, но это сэкономило мне массу времени, и зачем заново изобретать колесо? знак равно Удачи!

...