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.

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top