2

ページをアンカーリンクまでスクロールしたい。私は次のコードを使用しています:

$('a').click(function(){
        $('html, body').animate({
            scrollTop: $( $(this).attr('href') ).offset().top
        }, 400);
        return false;
    });

次のような URL があれば問題なく動作します。

<a href="#comments">Comments</a>

ただし、問題は、現在の URL の末尾に # を追加して URL が自動的に生成されるため、次のようになることです。

<a href="http://example/sth/#comments">Comments</a>

この原因では、動作しません。URL のマークアップを変更できません。そのような URL で動作するように jQuery を修正するにはどうすればよいですか?

4

2 に答える 2

3

hashアンカーの代わりに、アンカーのプロパティを読み取ることができますhref:

$('a').click(function(){
    $('html, body').animate({
        scrollTop: $(this.hash).offset().top
    }, 400);
    return false;
});

http://jsfiddle.net/KL5uw/

于 2013-10-10T09:43:32.663 に答える
-1

特定のアンカー タグまでスクロール, これは HTML のみで実行できます

元:

<a name="top"></a>  // where we have to reach
<a href="#top">last</a>     // we reach their by clicking on this we can also use an image, align in right

デモ

于 2013-10-10T09:46:44.480 に答える