JQuery вертикальное выравнивание 2 деления - PullRequest
3 голосов
/ 21 ноября 2010

Это то, чего я пытаюсь достичь

alt text

У меня есть всплывающая подсказка и кнопка.Их ширина определяется текстом и отступами div.Текст может отличаться.Тем не менее, как можно было бы выровнять их по вертикали через Jquery?

Причина, по которой я хочу использовать jquery, состоит в том, чтобы избегать использования таблиц и чрезмерного HTML.

Я пробовал функцию width (), ноэто не дает точную ширину.Я полагаю, что нужно также получить отступ?

Наконец, я ужасен с числами ... Я не уверен, какую формулу можно использовать, но я подозреваю, возможно, разделив обе ширины div на 2 и каким-то образом центрируя середины?

РЕДАКТИРОВАТЬ: при нажатии кнопки появляется всплывающая подсказка, и она абсолютно не мешает / не толкает другие элементы.

РЕДАКТИРОВАТЬ: работа в процессе jsfiddle.net/Aezb6

Ответы [ 3 ]

2 голосов
/ 21 ноября 2010

Получите ширину calloutdiv //

widthCallout=$('#calloutdivWidth'); // это динамически

разделите это на ширину кнопки, которая постоянна.

оставьте влево:

left= widthCallout/pushbuttonwidth

Вы можете поиграть с значением paddingLeft + или -, которое дает вам точно центр:

1 голос
/ 22 ноября 2010

http://jsfiddle.net/SebastianPataneMasuelli/Aezb6/1/

вам просто нужно было разделить center_it на 2, чтобы получить середину подсказки.

1 голос
/ 22 ноября 2010

См. Этот пример:

var item = $(".tooltip");
var container = $("#container");

var position = item.position();

var mytop = position.top - container.height() + $(document).scrollTop();
var myleft = position.left - container.width() + $(document).scrollLeft();

// Correct relative coordinates for IE and WebKIT
if($.browser.msie || $.browser.webkit){
    mytop = position.top - container.height();
    myleft = position.left - container.width();
}

container.offset({top: mytop, left: myleft});

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...