Один div i задает высоту в css, используя top:-26px;
. У меня есть другие divs другие места, где я хотел бы выровняться с этим div. Я замечаю, что в jquery writing .css('top')
получает меня мой css, а не координату y div. Как получить абсолютную позицию x, y с помощью javascript?Получить позицию div (вверху) в javascript?
ответ
Вы можете использовать jQuery(element).offset().top
Надеются, что это помогает.
Ничего не упомянуто о JQuery, и ваш код должен быть переписан с помощью 'jQuery (element) .offset(). Top'. – VisioN
@VisioN: О чем ты говоришь, я упоминал jquery. Ну, вроде (.css функция не прямая js) +0. Это не работает и его '.offset(). Top' (мне пришлось смотреть оба) –
top получает меня -18 :(Мне нужно абсолютное положение, и эта позиция относительна. –
Со стандартным JavaScript:
var elem=document.getElementById("elemID");
var top=elem.offsetTop;
var left=elem.offsetLeft;
С JQuery:
var top=$("#elemID").offset().top;
var left=$("#elemID").offset().left;
offsetTop возвращает расстояние от текущего элемента относительно вершины смещенного узла Parent, а не страницы. – rlemon
@rlemon правильно, поэтому моя проблема –
Попробуйте этот код:
function getElementPosition(id) {
var offsetTrail = document.getElementById(id);
var offsetLeft = 0;
var offsetTop = 0;
while (offsetTrail) {
offsetLeft += offsetTrail.offsetLeft;
offsetTop += offsetTrail.offsetTop;
offsetTrail = offsetTrail.offsetParent;
}
return {
left: offsetLeft,
top: offsetTop
};
}
Он возвращает объект с left
и top
переменных.
Если вы используете JQuery попробовать offset()
метод:
var pos = $("#element").offset();
console.log(pos.left)
console.log(pos.top)
та же проблема с другими. –
@ acidzombie24 Вы уверены, что вы не смешиваете абсолютные и относительные положения? Эти функции возвращают положение элемента относительно страницы. – VisioN
@ VisioN Я уже заметил, что offsetTop по отношению к нему ... подождите, и, возможно, некоторые CSS или HTML прольют некоторый свет на ситуацию. – rlemon
Я дам вам решение ванили .. не жалуется .. добавить [0] к вашему элементу, и это исправлено! : P надеюсь, что это поможет.
function getOffset(el) {
var _x = 0;
var _y = 0;
while(el && !isNaN(el.offsetLeft) && !isNaN(el.offsetTop)) {
_x += el.offsetLeft - el.scrollLeft;
_y += el.offsetTop - el.scrollTop;
el = el.offsetParent;
}
return { top: _y, left: _x };
}
var x = getOffset(document.getElementById('yourElId')).left;
Использование JQuery (элемент) .offset()
Надеется, что это помогает.
Например
var elementPosition = jQuery(element).offset();
var elementTopPositon = elementPosition.top;
Кросс-браузер безопасного вниз IE 8, возможно, даже 7 или 6:
function offset(el) {
var rect = el.getBoundingClientRect(),
scrollLeft = window.pageXOffset || document.documentElement.scrollLeft,
scrollTop = window.pageYOffset || document.documentElement.scrollTop;
return { top: rect.top + scrollTop, left: rect.left + scrollLeft }
}
var offsetEl = offset(document.getElementById('some_id'));
console.log(offsetEl.left, offsetEl.top);
Короткие и быстро, и нет необходимости JQuery.
Саймон, где функция getBoundingClientRect? вы копируете другой сайт? wtf lol – KingRider
Не знаю, какова ваша проблема и не заботится. Вот ссылка для этого метода: https://developer.mozilla.org/en/docs/Web/API/Element/getBoundingClientRect –
hum .. Mozilla? его не знаю, ур сообщение об IE8 ... слишком запутался .... тест в http://jsfiddle.net/Darker/sj6tnfce/2/ – KingRider
- 1. JavaScript: получить позицию курсора в contenteditable DIV
- 2. Получить позицию div
- 3. Получить поле вверху с JavaScript
- 4. Получить фоновое изображение Div к «переполнению» вверху
- 5. Получить позицию DIV/диапазона тега
- 6. Как получить позицию div? jquery
- 7. Показать div вверху страницы?
- 8. Получить позицию элемента в Javascript
- 9. Прокрутите страницу вверху div в div jquery
- 10. Получить позицию в javascript не работает
- 11. Получить позицию DIV на странице свитка
- 12. как получить позицию курсора в редактируемом DIV
- 13. Получить курсор-позицию в contenteditable DIV
- 14. Получить позицию в div выделенного текста
- 15. Получить позицию каретки в редактируемом div IE8
- 16. Анимация DIV в другую позицию DIV
- 17. Получить позицию элемента по javascript
- 18. Как изменить позицию div с помощью Javascript?
- 19. Получить реальную позицию элемента HTML в чистом javascript
- 20. Javascript aimate div на позицию других divs?
- 21. Почему эта DIV заполнена вверху?
- 22. Как сделать div вверху страницы
- 23. Fix Div вверху при прокрутке
- 24. Вычислить позицию сверху div
- 25. JavaScript внизу/вверху страницы?
- 26. JQuery Css Получить старую позицию из div?
- 27. Получить начальную позицию div с помощью jQuery
- 28. Как получить позицию каретки для contentEditable div?
- 29. Как получить позицию div внутри td
- 30. Angular2 получить Div позицию дал #id
plz напишите свой первый div css, чтобы помочь другим в ответе. –