Dado um DOM HTML, como obter a posição de um elemento em relação à janela em JavaScript / JQuery? Não é o mesmo que relativo ao documento nem pai-offset, pois o elemento pode estar dentro de um iframe ou de alguns outros elementos. Preciso obter a localização da tela do retângulo do elemento (como em posição e dimensão), pois ele está sendo exibido no momento. Valores negativos são aceitáveis se o elemento estiver atualmente fora da tela (foi rolado para fora).
Isto é para um aplicativo para iPad (WebKit / WebView). Sempre que o usuário toca em um link especial em um UIWebView
, devo abrir uma exibição popover que exibe mais informações sobre o link. A visualização popover precisa exibir uma seta que aponte para a parte da tela que a chama.
<div>
. Você considera apenas a rolagem do documento, mas não a rolagem do outro elemento.Experimente a caixa delimitadora. É simples:
fonte
você pode chamar assim
Eu me concentro no IE apenas conforme minha exigência, mas o mesmo pode ser feito para outros navegadores
fonte
Parece mais que você deseja uma dica de ferramenta para o link selecionado. Existem muitas dicas de ferramentas do jQuery, experimente o jQuery qTip . Tem muitas opções e é fácil mudar os estilos.
Caso contrário, se você quiser fazer isso sozinho, poderá usar o jQuery
.position()
. Mais informações sobre.position()
estão em http://api.jquery.com/position/$("#element").position();
retornará a posição atual de um elemento em relação ao pai de deslocamento.Há também o jQuery .offset (); que retornará a posição relativa ao documento.
fonte
TL; DR
.getBoundingClientRect () parece ser universal . .offset () e .scrollTop () são suportados desde o jQuery 1.2. Obrigado @ user372551 e @prograhammer. Para usar o DOM em um iframe, consulte a solução de @ ImranAnsari .
fonte
fonte
Tente isso para obter a localização de um elemento em relação à janela.
Veja mais @ Obter a posição de um elemento em relação ao documento com jQuery
fonte