2012-04-02 2 views
3

У меня есть этот div, который должен быть относительным и вершины в%:Как получить верхнее значение div в пикселях, если оно задано в процентах в css?

#adiv { 
    position: relative; 
    top: 50%; 
    margin-top: 0px; 
    height:200px; 
    background-color:black; 
} 

Теперь я хочу, чтобы найти значение top:50% в пикселях. Если бы я это сделать:

alert("TopHeightInPixels:"+(parseInt($("div#adiv").css("top")))); 

Firefox выводит фактические пиксели (100px), в то время как Safari выводит только 50. Я знаю, почему Safari делает это (с моим кодом это просто полос % моего 50%, я думаю), но как я могу сделать это правильно, и если я делаю это с помощью JQuery:

alert("TopHeightInPixels:"+(parseInt($("div#adiv").offset().top))); 

или

alert("TopHeightInPixels:"+(parseInt($("div#adiv").position().top))); 

Я получаю значение 0. Так как мне это сделать правильно? Заранее спасибо! Here's скрипка.

+0

Вы можете разместить свой результат 'console.log ("TopHeightInPixels:" + $ ("# DIV Adiv") офсетных().)' И 'console.log (" TopHeightInPixels : "+ $ (" # DIV Adiv ") длина)'.? – Gottox

+0

в FF Я получаю: TopHeightInPixels: [Object Object] и TopHeightInPixels: 1 – suri

ответ

1

Смотрите ответы на этот вопрос: Detecting the position of a div

В верхней части DIV является ее у обычно координируют. Не уверен, что модель окна позволяет компенсировать исходную точку div, но я уверен, что это не так.

+0

Привет, Майкл, THX для быстрого ответа, но проблема в том, что смещение не работает ни, как я написал выше ... :-( – suri

+0

@ suri в скрипке, которую вы поставили на верхнее смещение, - 0 ... проверьте эту скрипку с небольшим моментом css http://jsfiddle.net/vfLKj/ – lnrbob

+0

Да, но вы попробовали другой ответ по этой ссылке, в котором упоминается Google Код? –

1

Атрибут top устанавливает вашу позицию относительно своего родителя, но родитель должен иметь высоту, чтобы это работало с использованием процентов.

См. jsFiddle.

0

Постарайся это

$('#adiv').offset().top 
Смежные вопросы