2012-04-13 12 views
6

Attualmente sto utilizzando jQuery per caricare una pagina su un hashtag specifico (tramite la funzione onload nella classe del corpo) quando un utente fa clic sul titolo di un post. L'hashtag ovviamente compare nell'URL. Mi stavo chiedendo se esistesse un modo per nascondere l'hashtag dall'ingombro dell'URL. Ha fatto alcune ricerche e non è venuto fuori con molto.Salta al tag di ancoraggio senza mostrare hashtag nell'URL

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

risposta

21

come si vede qui: http://djpate.com/2009/10/07/animated-scroll-to-anchorid-function-with-jquery/

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

Basta passare l'ID dell'elemento che si desidera scorrere.

+0

Immagino di aver dimenticato di dire che questo è in wordpress. Quindi quando clicco su un link nella pagina del post del blog, vorrei che scorresse fino al titolo. Ho provato a utilizzare questo e seguendo le istruzioni nel link e non ho potuto farlo funzionare ... qualche suggerimento? –

+1

Puoi assicurarti che la funzione venga chiamata quando fai clic su un link? Prova a mettere 'alert()' lì. –

6

È possibile associare un evento click a questo particolare tipo di ancoraggio, ed evitare di default su di esso:

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

Il "resto di roba" si intende individuare una sorta di plugin o esempio di codice che salterà pagina . Se vuoi che funzioni senza intoppi, c'è un plugin scrollTo molto popolare. Potrebbe anche darsi che il plugin scrollTo si occupi della prevenzione predefinita.

[update]

suggerimento di Jeff (ammesso che funziona) è il "resto del roba" ed è il più utile dei due risposte. ;-) Ma prevenire il default è ancora importante.

+0

Mi piace ancora quello che hai ':)' Ci complimentiamo a vicenda. –

0

Penso che tu possa semplicemente usare il file .htaccess. Lì puoi fare in modo che alcuni link di URL vadano allo stesso indirizzo.

Ad esempio fff.com/fff e fff.com e fff.com#anchor possono essere visualizzati come fff.com nella scheda del browser.

Problemi correlati