Задать вопрос
@MIsternik

Почему Javascript elementfrompoint может возвращать разные элементы?

Есть задача, найти ближайший элемент по оси Y к определенной точке, использую строку
$(document).ready(function(){
// что-то еще
var element = document.elementFromPoint(Math.floor(innerWidth/2), 500);
console.log("offset: {" + $(element).offset().top+ " : " + $(element).offset().left + "}");
// что-то еще
})


точка находится внизу экрана посередине (это не принципиально).

Заметил что при обновлении страницы элементы получаю разные.
Думал что точка между двух элементов соседних, поэтому так...но нет:

Страница состоит из конструкций текст небольшой ширины.

Хаотично получаю, элементы с позициями:
offset: {411 : 0}
offset: {483 : 0}
при том, что между ними есть еще элементы, хром показывает из ширину как 60,40,20,20.

От чего это может зависеть ?
  • Вопрос задан
  • 3450 просмотров
Подписаться 2 Оценить 2 комментария
Пригласить эксперта
Ответы на вопрос 2
oscarhandsome
@oscarhandsome
developer
Вроде как это похоже тут
если страницу прокрутить, то элемент поднимется выше или опустится ниже – его координаты относительно окна изменятся.
Ответ написан
Комментировать
@MIsternik Автор вопроса
Ответ на самом деле был простой. На странице было изображение, которое появлялось на странице с немного разной скоростью, на глаз не заметной. И если оно еще не появилось, то я попадал на один элемент, а если появилось на другой. Возможно такое может быть и из-за любых других динамических елементов страницы. Я не фронтендер, поэтому хз.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы