【问题标题】:AngularJS / JQuery: scroll from current location to elementAngularJS / JQuery:从当前位置滚动到元素
【发布时间】:2015-10-27 16:41:40
【问题描述】:

这是我当前的指令,我发现它是以下问题的第二个答案 - ScrollTo function in AngularJS:

.directive('scrollToItem', function($timeout) {                                                      
    return {                                                                                 
        restrict: 'A',                                                                       
        scope: {                                                                             
            scrollTo: "@"                                                                    
        },                                                                                   
        link: function(scope, $elm,attr) {                                                   

            $elm.on('click', function() {                                                    
                $('html,body').animate({scrollTop: $(scope.scrollTo).offset().top }, "slow");
            });                                                                              
        }                                                                                    
    }})  

上面的代码可以这样使用:

<a id="top-scroll" name="top"></a>
<div class="back-to-top" scroll-to-item scroll-to="#top-scroll"> 

问题在于,这会导致页面快速向上滚动,然后从顶部开始动画。是否有推荐的方式让我从当前位置滚动到所需位置?

【问题讨论】:

    标签: jquery angularjs jquery-animate scrollto


    【解决方案1】:

    一种解决方案是改变

    $elm.on('click', function() {                                                    
                    $('html,body').animate({scrollTop: $(scope.scrollTo).offset().top }, "slow");
                }); 
    

    到

    $elm.on('click', function(e) {                                                    
        e.preventDefault();
       $('html,body').animate({scrollTop: $(scope.scrollTo).offset().top }, "slow");
    });    
    

    我在这里找到的:jQuery flicker when using animate-scrollTo

    我会等待,看看是否有更好的解决方案。如果没有,我会将此标记为正确的解决方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-13
      相关资源
      最近更新 更多