Jquery animate方法在某些情况下不运行

时间:2014-11-14 00:55:34

标签: javascript jquery html

我使用jQuery的动画方法创建平滑的滚动效果,使导航栏的链接滚动到主页上的特定位置。 ......如果对我所谈论的内容感到困惑,here's a better description.

以下是我用来实现此效果的一点点javascript:

$(document).ready(function(){
    $('a[href^="/#"]').on('click',function (e) {
    e.preventDefault();

    var target = this.hash;
    $target = $(target);

    $('html, body').stop().animate({
        'scrollTop': $target.offset().top-$('.navbar').height()
    }, 1000, 'swing', function () {
        window.location.hash = target-$('.navbar').height();
    });
    });
});

我们的主页按钮是:

<a class="navbar-brand" href="/#home_top"></a>

我们关于我们的链接是:

<a href="/#about">About</a>

无论如何,当我只输入网址并直接导航到domain.com时,滚动功能效果很好。我可以向下滚动到&#34;关于我们&#34;部分(或任何其他),然后单击我们的主页按钮返回页面顶部。

当我使用主页按钮从网站上的其他页面导航到主页时,

问题出现。比方说,我在domain.com/another_page,然后点击主页按钮返回domain.com的主页。主页加载但滚动的javascript不起作用。只有一次我刷新它再次工作;一切都很好。

无论如何,如果问题有点复杂,那就很抱歉。任何有关此事的帮助将不胜感激。

0 个答案:

没有答案