Javascript 单击顶部页面的按钮不适用于AngularJS路由器链接

Javascript 单击顶部页面的按钮不适用于AngularJS路由器链接,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,在点击页脚底部的按钮后,我试图使用AngularJS ng include登录到其他页面的顶部时遇到问题 HTML index.HTML <body> <a name="top"></a> <!-- header section --> <div ng-include="'views/header.html'"></div> <!-- views section --> <div ng-view&g

在点击页脚底部的按钮后,我试图使用AngularJS ng include登录到其他页面的顶部时遇到问题

HTML index.HTML

<body>

<a name="top"></a>

<!-- header section -->
 <div ng-include="'views/header.html'"></div>

<!-- views section -->
<div ng-view></div>

<!-- footer section -->
<div ng-include="'views/footer.html'"></div>

</body>
Javascript

<script type="text/javascript">
if ($('#myBtn').length) {
    var scrollTrigger = 100, 
    backToTop = function () {
        var scrollTop = $(window).scrollTop();
        if (scrollTop > scrollTrigger) {
            $('#myBtn').addClass('show');
        } else {
            $('#myBtn').removeClass('show');
        }
    };
    backToTop();
    $(window).on('scroll', function () {
        backToTop();
    });
    $('#myBtn').on('click', function (e) {
    e.preventDefault();
    $('html, body').animate({
        scrollTop: 0
    }, 100);
    });
}
</script>

正如Randy所评论的,您面临的主要问题不是如何使用acutoscroll,而是使用两个框架AngularJS和jQuery,这两个框架可以完成非常类似的事情。使用jQuery可以做的事情很少,这是使用Angular无法做到的

查看本文的答案,了解在导航事件中始终自动滚动到顶部的几种方法:


祝你好运

你真的应该做出选择:要么你想使用jQuery,它会比帮助更破坏你的应用程序,要么你可以使用Angular并利用所有的帮助Angular。您应该为链接使用ui sref。使用ui-router将简化您的生活。问题是您错过了/之后!我被告知删除/并且它对我有效,但只是当我单击页脚上的按钮时,它部分地落在了另一页上。我明白你关于选择“ui sref”来保留Angular应用程序的观点。我要看看这是否有效。谢谢在这种情况下,你应该阅读关于页面链接上的散列:并将其与谷歌不赞成的页面链接概念区分开来。当前版本的AngularJS(包括AngularJS)没有提倡使用Hashbang URL。
<script type="text/javascript">
if ($('#myBtn').length) {
    var scrollTrigger = 100, 
    backToTop = function () {
        var scrollTop = $(window).scrollTop();
        if (scrollTop > scrollTrigger) {
            $('#myBtn').addClass('show');
        } else {
            $('#myBtn').removeClass('show');
        }
    };
    backToTop();
    $(window).on('scroll', function () {
        backToTop();
    });
    $('#myBtn').on('click', function (e) {
    e.preventDefault();
    $('html, body').animate({
        scrollTop: 0
    }, 100);
    });
}
</script>