2013-10-07 4 views
0

Я динамически изменяю размер некоторых элементов с помощью jQuery.Получить высоту/ширину в% с помощью jQuery

В большинстве случаев все идет хорошо, я звоню $(selector).css('height');, чтобы получить значения высоты/ширины или $(selector).height();.

Обычно это дает мне значение в px, даже если я установил его в % в моей таблице стилей.

Но иногда оно возвращает значение в %, поэтому мне интересно, есть ли способ, чтобы получить значение в px? Как «предотвратить» формат?

+0

Можете ли вы привести пример (как jsfiddle) о том, когда вы получите% возвращенное из JQuery? – Adam

ответ

1

EDIT

Я беру это обратно - я не уверен, что если когда-либо Jquery возвращает значение%, даже если вы укажете его в CSS - встроенный или иначе (хотя я оставлю мой первоначальный ответ неповрежденными).

Можете ли вы привести пример того, когда вы получите возвращаемое значение%?

ORIGINAL

.css() поможет вам значение, которое применяется непосредственно к элементу:

<div style="height: 75%;"> 

.height() прибудет это высота элемента в самой DOM - всегда в пикселях.

1

Не используйте

$(selector).css('height'); 

, чтобы получить значения пикселей. Он возвращает определенный CSS, что, вероятно, означает, что вы получаете возвращаемые процентные значения. Использовать

$(selector).height(); 

исключительно для значений пикселей.

0

Цитируя jQuery API:

.height() возвращает блок меньше значение пикселя

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

0

попробовать

var a = $(window).height(); 
var b = $('#div').height(); 

высота в процентах может быть вычислена как:

(b/a)*100 
Смежные вопросы