Ihtmlelement2.getBoundingClientRect () não funciona corretamente
-
21-09-2019 - |
Pergunta
O getBoundingClientRect () não funciona com precisão para todos os casos. Ele falha quando, digamos, uma lista de links lado a lado em uma linha e metade deles são empurrados para a próxima linha porque todos os links não podem ser ajustados na mesma linha. Agora, para o primeiro link na 2ª linha, o getBoundingClientRect () não fornece resultados corretos.
O valor para ihtmlrect.bottom e ihtmlrect.right está correto, no entanto, o valor para ihtmlrect.left e ihtmlRect.top corresponde ao primeiro elemento na primeira linha.
Como obter as coordenadas exatas para o primeiro link na segunda linha?
Isso acontece, digamos a página do Google ou na página da Wikipedia, onde há bando de links de idioma ou local.
Por exemplo, links na widipedia dizem,
Deutsch • English • Español • Esperanto • Français • Bahasa Indonesia • Italiano •
estaria presente em duas linhas como abaixo por causa do layout.
Deutsch • English • Español • Esperanto •
Français • Bahasa Indonesia • Italiano •
Para este caso, o ihtmlelement2.getBoundingClientRect () funciona perfeitamente para tudo, exceto para Français.
Não sei por que isso está acontecendo, qualquer ajuda ou solução alternativa para esse problema é muito apreciada.
Solução
Quando eu tentei ihtmlelement2.getClientRects (). Ele fornece os retângulos para o conteúdo interno de uma linha de elementos por linha. Portanto, isso fica complicado para resolver o problema.