Atrasar tag âncora “salto”
Pergunta
Existe uma maneira de retardar o "salto" para uma marca de âncora no carregamento da página usando ASP.NET e jQuery?
problema real é que eu tenho uma função jQuery que na página de carga esconde todos os divs de uma certa classe. Agora, quando eu tenho uma marca de âncora no meio da página, e link para essa âncora, quando a página é carregada a "salto âncora" acontece antes jQuery tem uma chance para esconder os divs -> usuário vai para parte completamente errado do página.
saude, J.Arola
Solução
Por que você usa jQuery para ocultar os divs? Basta usar um estilo em vez disso, e os divs estão escondidos desde o início:
<style type="text/css">
.TheClassToHide { display: none; }
</style>
Outras dicas
Talvez você pode definir fragmento do local para uma cadeia vazia e armazenar o valor antigo em cima de carregamento da página, fragmento de localização, então reposto quando tudo está feito.
ASP.Net, provavelmente, não pode ajudar, porque o fragmento não será enviado para o servidor.
Se você controlar as ligações recebidas, você poderia substituir o #hash
sufixo com um ?query
sufixo. Que será ignorado pelo navegador, mas é acessível a JavaScript no location.search
. Você pode então fazer a rolagem-se em JavaScript, depois de esconder suas divs.