查询平滑滚动到#

时间:2012-10-19 11:22:56

标签: jquery wordpress

我正在尝试使用以下jQuery代码段来创建一个平滑滚动到我的Wordpress网站上的#links:

$(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

这似乎抛出了剧本。

我是否可以添加到代码段以使其能够理解这种链接结构?

对不起,如果这是一个愚蠢的问题,我是初学者。

2 个答案:

答案 0 :(得分: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);
});

答案 1 :(得分:0)

尝试使用:

var urlHash = window.location.hash.split("#")[1];