2009-10-14 2 views
0

Функция getBoundingClientRect() не работает точно для всех случаев. Он терпит неудачу, когда говорят, что список ссылок, расположенных рядом друг с другом, и половина из них переносятся на следующую строку, потому что все ссылки не могут быть помещены в одну строку. Теперь для первой ссылки на 2-й строке метод getBoundingClientRect() не дает правильных результатов.IHTMLElement2.getBoundingClientRect() работает неправильно

Значение для IHTMLRect.bottom и IHTMLRect.right является правильным, однако значение для IHTMLRect.left и IHTMLRect.top соответствует первому элементу в первой строке.

Как получить точные координаты для первой ссылки во втором ряду?

Это происходит на странице google или на странице wikipedia, где есть куча ссылок на язык или местоположение.

Например, ссылки в widipedia говорят,

Deutsch • English • Español • Esperanto • Français • Bahasa Indonesia • Italiano • 

будет присутствовать в двух строках, как ниже из-за расположения.

Deutsch • English • Español • Esperanto • 
Français • Bahasa Indonesia • Italiano • 

Для этого случая IHTMLElement2.getBoundingClientRect() отлично работает на все для Français кроме.

Я не уверен, почему это происходит, любая помощь или обходной путь для этой проблемы приветствуются.

ответ

0

Когда я попробовал IHTMLElement2.getClientRects(). Он предоставляет прямоугольники для внутреннего содержимого элемента по строкам. Так что это становится сложно решить проблему.

Смежные вопросы