Как получить правильную позицию Элемента?
Я хочу получить правильное положение элемента. Я пробовал attr('right')
, и я прочитал документ API относительно .position().right
, который не существует (я считаю).
http://jsfiddle.net/xavi3r/vcuq7/
Я хотел бы указать правильное значение для.
Ответы
Ответ 1
Вы хотите найти значение свойства CSS right
?
$('#foo').css('right');
В простом Javascript:
document.getElementById('foo').style.right;
Но если вы хотите найти вычисленное расстояние от правого края элемента до правого края другого, тогда вам придется сделать это самостоятельно, объединив .position().left
и .offsetWidth
Ответ 2
Мне кажется, что это работает:
jQuery('#elem').offset().left + jQuery('#elem').width()
Скрипка:
http://jsfiddle.net/adamovic/fcyL5sg0/
Ответ 3
$(document).width() - ($('#elem').offset().left + $('#elem').width());
должно предоставить вам пространство с правой стороны элемента, которое затем можно установить как значение для свойства "right" позиции элемента;
Ответ 4
вы можете попробовать .css
.css("right");
Ответ 5
Значение CSS допустимо только в том случае, если оно задано с помощью стиля или $.css().
Но если вам нужно получить правильную позицию объекта, вы должны сделать это, используя javascript/jquery.
Несмотря на то, что существуют некоторые допустимые решения, важно отметить, что $.fn.width() не учитывает заполнение и границы. Поэтому лучше использовать outerWidth().
Пример:
$(document).width() - ($('#elem').offset().left + $('#elem').outerWidth());
Вы даже можете создать функцию $.fn, чтобы получить значение:
$.fn.right = function() {
return $(document).width() - (this.offset().left + this.outerWidth());
}
И затем используйте его:
$('#elem').right();
Ответ 6
Как отмечено @avernet в комментариях, эквивалент гипотетического .position(). right будет выглядеть следующим образом:
$('#foo').offsetParent().width() - ($('#foo').position().left + $('#foo').width());