0

次の jQuery スニペットを使用して、Wordpress サイトの # リンクへのスムーズなスクロールを作成しようとしています:

$(window).bind("load", function() {
   var urlHash = window.location.href.split("#")[1];
    $('html,body').animate({scrollTop:$('a[href="#'+urlHash+'"]').offset().top}, 4000);        
});

リンクが次のように構成されている場合、これはうまく機能します。

mysite.com/page.htm#scroll1

ただし、私のサイトはWordpressであるため、リンクは次のように構成されています。

mysite.com/?page_id=6#scroll1

また

mysite.com/section/#scroll1

これはスクリプトをスローするようです。

この種のリンク構造を理解できるようにするためにスニペットに追加できるものはありますか?

初心者なので的外れな質問でしたらすみません。

4

2 に答える 2

1

これを試して:

$(document).ready(function () {
    function Move2UrlAnchor(speed) {
        $('html,body').scrollTop(0);
        if (window.location.hash) {
            var anchor = window.location.hash;
            var id = anchor.replace('#','');
            $("a[href*='"+anchor+"']").attr('id', id);
            var ScroolPos = $(anchor).offset().top;
            $('html,body').animate({ scrollTop: ScroolPos },speed);
        };
    };
Move2UrlAnchor(10000);
});
于 2012-10-19T12:13:49.733 に答える
0

これを使用してみてください:

var urlHash = window.location.hash.split("#")[1];
于 2012-10-19T11:46:56.107 に答える