Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Scrollspy for Materialize使用Angularjs完全不滚动_Javascript_Jquery_Angularjs_Materialize_Scrollspy - Fatal编程技术网

Javascript Scrollspy for Materialize使用Angularjs完全不滚动

Javascript Scrollspy for Materialize使用Angularjs完全不滚动,javascript,jquery,angularjs,materialize,scrollspy,Javascript,Jquery,Angularjs,Materialize,Scrollspy,我试图使用Materialize()中的scrollspy来针对使用ng repeat创建的每个div 然而,在我看来,scrollspy类似乎什么都没有做。DOM没有滚动到页面的该部分,而是重新加载并指向页面的该部分 另一个问题是,使用href=“/#社区#分享爱”正在更改网站URL。scrollspy是否可以在不添加URL的情况下工作 <div class="full-height row" ng-controller="CommunityController"> <

我试图使用Materialize()中的scrollspy来针对使用ng repeat创建的每个div

然而,在我看来,
scrollspy
类似乎什么都没有做。DOM没有滚动到页面的该部分,而是重新加载并指向页面的该部分

另一个问题是,使用
href=“/#社区#分享爱”
正在更改网站URL。scrollspy是否可以在不添加URL的情况下工作

<div class="full-height row" ng-controller="CommunityController">
    <div class="col l10 main-content">
        <div ng-repeat="principle in acmPrinciples" id ="{{principle.id}}" class="row full-width centering-text section scrollspy">
            <div class ="col-md-12">
                <h4>{{principle.title}}<h4>
            </div>
            <div class ="col-md-12 comm-description-container">
                <p class="paragraph-style larger-font-size">
                    {{principle.description}}
                 </p>
            </div>
            <div class ="col-md-12">
                <video class="responsive-video comm-video-height" controls>
                    <source ng-src="{{principle.videoURL}}" type="video/mp4">
                </video>
            </div>
        </div>
    </div>

    <div class="col l2 scroll-content">
        <div class="row">
            <div class="col hide-on-small-only m3 l2 scroll-items">
                <ul class="section table-of-contents">
                     <li><a href="#/community#experiencingGod">Experiencing God</a></li>
                     <li><a href="#/community#sharingLove">Sharing Love</a></li>
                     <li><a href="#/community#conntectingLives">Connecting Lives</a></li>
                     <li><a href="#/community#declaringTruth">Declaring Truth</a></li>
                </ul>
            </div>
        </div>
    </div>
</div>
我认为如果你把#/community从hrefs中删除,它应该会起作用。href应该包含块的id,而不是额外的url信息。尝试使用

<a href="#experiencingGod">Experiencing God</a>

我认为如果你把#/community从hrefs中删除,它应该会起作用。href应该包含块的id,而不是额外的url信息。尝试使用

<a href="#experiencingGod">Experiencing God</a>


add example at Hey Jacob感谢您的回答。你是对的。然而问题在于AngularJS控制器。Materialize说执行从使用document.ready开始。但是,当我在控制器中执行此操作时,它不起作用。我还尝试使用中声明的$document.ready.function(){},但没有成功。如果打开html页面的开发人员控制台并键入$('.scrollspy').scrollspy();它起作用了。我认为angular很早就执行了这个函数,原因是如果我把下面的代码放在setTimeout中,即使是100ms,它也能工作。如果控制器正在生成页面或插入了ng include,则是,document.ready不是正确的位置。您必须找出调用$('.scrollspy').scrollspy()的正确位置;是它可以放在控制器中,尽管角度纯粹主义者避免在控制器中包含触及DOM的代码。一个好方法是创建一个指令,在初始化视图时调用scrollSpy()。嘿,Jacob,谢谢你的回答。你是对的。然而问题在于AngularJS控制器。Materialize说执行从使用document.ready开始。但是,当我在控制器中执行此操作时,它不起作用。我还尝试使用中声明的$document.ready.function(){},但没有成功。如果打开html页面的开发人员控制台并键入$('.scrollspy').scrollspy();它起作用了。我认为angular很早就执行了这个函数,原因是如果我把下面的代码放在setTimeout中,即使是100ms,它也能工作。如果控制器正在生成页面或插入了ng include,则是,document.ready不是正确的位置。您必须找出调用$('.scrollspy').scrollspy()的正确位置;是它可以放在控制器中,尽管角度纯粹主义者避免在控制器中包含触及DOM的代码。一个好方法是创建一个指令,在初始化视图时调用scrollSpy()。