2012-04-13 6 views
6

私は現在、ユーザーが投稿タイトルをクリックしたときに、特定のハッシュタグでページを読み込むために(bodyクラスのonload関数を介して)明らかに、ハッシュタグがURLに表示されます。 URLを乱雑にすることからハッシュタグを隠す方法があるかどうか疑問に思っていました。いくつかの検索をして、あまり出なかった。ここに見られるようにURLにハッシュタグを表示せずにアンカータグにジャンプ

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

答えて

21

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

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

ちょうどあなたがにスクロールしたい要素のidを渡します。

+0

私はこれがワードプレスにあることを言い忘れたと思います。だから私がブログの投稿ページのリンクをクリックすると、そのタイトルにスクロールすることができます。私はこれを使用しようとし、リンクの指示に従って、私はそれを働かせることができなかった...任意の提案? –

+1

リンクをクリックしたときに関数が呼び出されるようにすることはできますか?そこに 'alert()'を入れてみてください。 –

6

あなたはアンカーのこの特定の種類のクリックイベントをバインドし、その上にデフォルトを防ぐことができます。

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

「ものの残りの部分は、」ページにジャンプしますプラグインやコードサンプルのいくつかの並べ替えを見つけること。スムーズにロールしたい場合は、かなり普及しているscrollToプラグインがあります。 scrollToプラグインがデフォルトの予防を担当することさえあるかもしれません。

[更新]

ジェフの提案(それが動作すると仮定)は、「ものの残りの部分」であり、2つの答えの方が便利です。 ;-)しかし、デフォルトを防ぐことは依然として重要です。

+0

私はまだあなたが持っているものが好きです。 ')私たちはお互いを褒めています。 –

0

私はあなたがちょうど.htaccessファイルを使うことができると思います。そこにいくつかのURLリンクを同じアドレスにすることができます。

たとえば、fff.com/ffffff.comfff.com#anchorは、ブラウザのタブでfff.comと表示できます。

関連する問題