2012-04-13 17 views
6

Actualmente estoy usando jQuery para cargar una página en un hashtag específico (mediante la función onload en la clase de cuerpo) cuando un usuario hace clic en el título de una publicación. El hashtag obviamente aparece en la url. Me preguntaba si había una forma de ocultar el hashtag para no saturar la URL. Hizo algunas búsquedas y no surgió mucho.Saltar a la etiqueta de anclaje sin mostrar hashtag en la URL

function goToAnchor() { 
    location.href = "#post"; 
} 

Respuesta

21

como se ve aquí: http://djpate.com/2009/10/07/animated-scroll-to-anchorid-function-with-jquery/

function goToByScroll(id){ 
    $('html,body').animate({scrollTop: $("#"+id).offset().top},'slow'); 
} 

sólo tiene que pasar el id del elemento que se desea para desplazarse hasta.

+0

Supongo que olvidé mencionar que esto está en wordpress. Entonces, cuando hago clic en un enlace en la página de publicación de blog, me gustaría que se desplace al título. Intenté usar esto y seguir las instrucciones en el enlace y no pude hacer que funcionara ... ¿Alguna sugerencia? –

+1

¿Puedes asegurarte de que se llame a la función cuando haces clic en un enlace? Intenta poner 'alert()' allí. –

6

Puede enlazar un evento de clic a este tipo particular de anclaje, y evitar por defecto en él:

$('.anchorClass').on('click', function(e) { 
    e.preventDefault(); 
    // rest of stuff 
}); 

El "resto de cosas" significa la localización de algún tipo de plugin o ejemplo de código que saltará la página . Si quieres que funcione sin problemas, hay un plugin de scrollTo que es bastante popular. Incluso es posible que el complemento scrollTo se ocupe de la prevención predeterminada.

[Actualización]

sugerencia de Jeff (suponiendo que funciona) es el "resto de cosas" y es el más útil de las dos respuestas. ;-) Pero prevenir el incumplimiento sigue siendo importante.

+0

Todavía me gusta lo que tienes ':)' Nos felicitamos mutuamente. –

0

Creo que solo puede usar el archivo .htaccess. Allí puedes hacer que algunos enlaces de URL vayan a la misma dirección.

Por ejemplo fff.com/fff y fff.com y fff.com#anchor se pueden mostrar como fff.com en la pestaña del navegador.

Cuestiones relacionadas