2010-08-20 3 views
1

je le lien suivant:Comment puis-je arrêter le navigateur de défilement vers le haut quand un lien « #Section » est cliqué

<a href="#section">Section</a> 

Maintenant, je veux vraiment ce lien à travailler si l'URL sera changé

mypage.html#section 

Mais que d'autre part, si je continue le code tel qu'il est, le navigateur défiler la page vers le haut automatiquement, et je ne veux pas que cela se produise.

De toute évidence, return false; ne suffira pas car il ne changera pas l'URL.

Des idées?

(Merci)

+1

Vous ne souhaitez pas modifier l'URL pour? – Ben

+0

Afin d'avoir une URL qui reflète l'état dans lequel le site est. – ipodppod

Répondre

3

Vous essayez de cliquer sur un point d'ancrage qui lie à un hachage. Ce qui va essayer de sauter à l'élément approprié avec ce nom. S'il ne trouve pas ce nom, il finira juste en haut. C'est un comportement normal.

Il semble que vous voulez changer cela, à partir de laquelle je recommande de ne pas utiliser et l'ancre et en ajoutant le hachage #section via JavaScript:

<a href="#" onclick="document.location.hash = '#section'; return false;">Section</a> 

Cela devrait vous donner le résultat souhaité.

+0

C'était exactement ce que je cherchais. Merci beaucoup! – ipodppod

Questions connexes