1

URLを変更するが、ハッシュ状態を使用せずにページを変更しないページにリンクを配置するにはどうすればよいですか?

URLを変更してページの対応するセクションにスクロールするリンクを配置したい。スクロールする代わりにセクションにジャンプするだけなので、ハッシュを使用したくありません。ハッシュはURLであまりよく見えないと思います。

4

4 に答える 4

3

HTML5 プッシュ状態を見てみましょう

私の知る限り、他に方法はありません。

于 2012-11-26T21:49:14.830 に答える
3

jQuery ScrollTo プラグインを試しましたか? http://archive.plugins.jquery.com/project/ScrollTo

于 2012-11-26T21:49:19.730 に答える
1

現在、ブラウザーには、ロケーション バーに表示される URL が実際に表示されているものと一致することを保証するセキュリティ機能があります。同時にページを変更せずに場所を変更することはできません。

ただし、URL を変更せずに、好きな場所にページをスクロールできます。特定の要素までスクロールするには、その位置を取得して次を使用します.animate()

$('body').animate({scrollTop: $('#element').position().top});

これを、URL の変更をキャンセルするために.on('click',...)使用するハンドラーと組み合わせると、準備完了です。e.preventDefault()

$('a[href^=#]').on('click', function(e) { // apply to all hash links
    var el = $(this).attr('href');        // get the href
    e.preventDefault();                   // cancel default click action
    $('body').animate({
        scrollTop: $(el).position().top   // scroll to the href ID instead
    });
});​

http://jsfiddle.net/mblase75/WFKUE/

于 2012-11-26T21:52:09.600 に答える
0

HTML5 ブラウザー履歴 (別名 PushState) は最新のアプローチです

https://developer.mozilla.org/en-US/docs/DOM/Manipulating_the_browser_history

ブラウザでかなり広くサポートされています

http://caniuse.com/history

于 2012-11-26T21:49:26.717 に答える