Одним из главных достоинств JQuery является то, что это так коммутацией, так что если у вас есть необходимость, что сразу не удовлетворяет библиотека , есть огромный ландшафт плагинов для поиска. И если нет никого, что бы делало то, что вы хотите, это действительно легко сворачивать самостоятельно.
Я думаю, что правильный путь сюда, если вы не можете найти плагин, который делает то, что вы хотите, является последним: написать свой собственный.
Однако убедитесь, что вы сами поняли спецификации своего плагина. Что он должен вернуть, если элемент не имеет настройки css для заполнения? Должен ли он вернуть стиль этого элемента или вычисленный стиль? Что происходит с недопустимым css (например, «padding-top: 10 unitsThatDontExist;» или «padding-left: two;»)?
Для get you started - это то, что, используя собственный плагин может выглядеть в коде:
var topPadding = $('#anElement').padding('top');
Чтобы сделать что доступно, просто написать плагин так:
$.fn.padding(direction) {
// calculate the values you need, using a switch statement
// or some other clever solution you figure out
// this now contains a wrapped set with the element you apply the
// function on, and direction should be one of the four strings 'top',
// 'right', 'left' or 'bottom'
// That means you could probably do something like (pseudo code):
var intPart = this.css('padding-' + direction).getIntegerPart();
var unit = this.css('padding-' + direction).getUnit();
switch (unit)
{
case 'px':
return intPart;
case 'em':
return ConvertEmToPx(intPart)
default:
// Do whatever you feel good about as default action
// Just make sure you return a value on each code path
}
};
ParseInt (this.css ("обивка -" + направление)) преобразует его в целое. – Psytronic
Нет, нет. И «это» должно быть обернуто кстати. – Somebody
@Psytronic, ОК - приятно знать! =) Однако я намеренно не написал весь код в этом плагине, чтобы заставить OP фактически наработать с ним, а не просто скопировать-вставить. Это намного лучший способ узнать;) –