1

私は1ページのサイトを持っており、それらのリンクはのようになっています<a href="#block1">link1</a>。ブラウザのアドレスバーにsite.com/#block1が表示されます

ブラウザにsite.com/block1のような行を表示し、リンクsite.com/block1をクリックすると、ブラウザは必要なブロックにスクロールされたページを開きます。

このjsfiddleは単純ですが、機能しません http://jsfiddle.net/26LRA/2/

魔法、php、cms、sql、およびさまざまなプラグインがあってはなりません。純粋なjavascript/jqueryのみ

追加:私はあなたにこのサイトhttp://www.ascensionlatorre.comを私が望むように与えます、しかし私は彼らのコードを理解することができません

4

2 に答える 2

1

あなたはあなたがただ目に見える形でURLを変更したいということを意味します:

$("#name0 a").click(function(e) {
    e.preventDefault();
    var id = $(this).attr('href').substring(1);
    $('html,body').animate({scrollTop: $('#'+id).offset().top}, 'fast');
    window.history.pushState("", "", '/' + id);
});

リンクが実際に機能するためには、必要なmod_rewriteものを作成し.htaccessて追加します。

RewriteRule ^portfolio$ /index.php/#$1 [QSA,NE]

URLを読む

var path = document.location.pathname;
path = path.substring(path.lastIndexOf('/'), 1);
if(path){
    $('html,body').animate({scrollTop: $('#'+path).offset().top}, 'fast');
}
于 2012-09-13T09:26:12.393 に答える
-1

これを行う適切な方法は、.htaccessでmod_rewriteを使用することだと思います。

于 2012-09-13T09:21:56.490 に答える