2015-10-20 90 views
7

我使用以下指令https://github.com/d-oliveros/ngSmoothScroll使该项目中的东西平滑地滚动到选定的元素。ngSmoothScroll角度指令不起作用

这里是我的代码:

angular 
    .module('sccateringApp', [ 
    'ngAnimate', 
    'ngAria', 
    'ngCookies', 
    'ngMessages', 
    'ngResource', 
    'ngRoute', 
    'ngSanitize', 
    'ngTouch', 
    'ui.materialize', 
    'smoothScroll' 
    ]) 

'smoothScroll'是实际的依赖列入项目:这就是脚本包含和我app.js文件里面我有

... 
<!-- build:js(.) scripts/vendor.js --> 
    <!-- bower:js --> 
    <script src="bower_components/jquery/dist/jquery.js"></script> 
    <script src="bower_components/angular/angular.js"></script> 
    <script src="bower_components/bootstrap/dist/js/bootstrap.js"></script> 
    <script src="bower_components/angular-animate/angular-animate.js"></script> 
    <script src="bower_components/angular-aria/angular-aria.js"></script> 
    <script src="bower_components/angular-cookies/angular-cookies.js"></script> 
    <script src="bower_components/angular-messages/angular-messages.js"></script> 
    <script src="bower_components/angular-resource/angular-resource.js"></script> 
    <script src="bower_components/angular-route/angular-route.js"></script> 
    <script src="bower_components/angular-sanitize/angular-sanitize.js"></script> 
    <script src="bower_components/angular-touch/angular-touch.js"></script> 
    <!-- endbower --> 
    <!-- endbuild --> 
    <script src="bower_components/ngSmoothScroll/dist/angular-smooth-scroll.min.js"></script> 
     <!-- build:js({.tmp,app}) scripts/scripts.js --> 
     <script src="scripts/app.js"></script> 
     <script src="scripts/controllers/initcontroller.js"></script> 
     <!-- endbuild --> 
     <script src="scripts/libs/materialize.min.js"></script> 
     <script src="scripts/libs/angular-materialize.js"></script> 
</body> 
... 

。下面这个帖子这个一开始给出的链接内的指示就是我我的观点里做:

<li><a href="#" scroll-to="service-info" container-id="service-info">Contáctame</a></li> 
... 

<section class="service-info" id="service-info"> 
<h1 class="sofia-font">Detalles de Servicio</h1> 
... 

然而,没有平滑滚动发生,也没有通过任何给定的警告/错误控制台或jslint我的grunt serve任务。

任何想法我可能做错了什么?我是非常新的角度,我仍然试图找到通过它的方式。

+0

我也在寻找同样的东西。你有没有运气? – sooon

+0

您的滚动字段和容器标识具有相同的元素标识,因此,不会发生滚动。 – o4ohel

回答

2

我不确定,但可能是因为您在链接上使用容器标识而不是非定位标记。我使用它来滚动到我的页脚中的一个元素。我的代码是:

//the anchor link in my nav 
<a href="#" scroll-to="footer" duration="2500">Click Me</a> 
... 

//the element I want to scroll to 
<div id="footer"></div> 
... 

缩小的版本不是为我工作,所以我的剧本去如下:

<script src="/bower_components/angular/angular.js"></script> 
<script src="/bower_components/angular-animate/angular-animate.js"></script> 
<script src="/bower_components/angular-aria/angular-aria.js"></script> 
<script src="/bower_components/angular-messages/angular-messages.js"></script> 
<script src="/bower_components/angular-material/angular-material.js"></script> 
<script src="/bower_components/angular-sanitize/angular-sanitize.js"></script> 

<script src="/bower_components/ngSmoothScroll/lib/angular-smooth-scroll.js"></script> 

<script src="/js/app.module.js"></script> 
<script src="/js/app.controller.js"></script> 
<script src="/js/app.service.js"></script> 

而对于模块:

angular 
    .module('glasser', [ 
     'ngMaterial', 
     'ngSanitize', 
     'smoothScroll' 
    ]) 
0

它没有为我工作,而不是尝试Angular-Scroll。它有一个现场演示,首先在您的浏览器中进行测试。

它还有一个'间谍'指令,因此您可以将类添加到视图中的元素。