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 回答