我有一个div如下:

<div class="col-xs-1 scroll-button"><i class="glyphicon glyphicon-chevron-left"></i> </div>
<div class="customer-ust-bant col-xs-22" id="letters">
    <box ng-repeat="lt in alph" name="{{lt}}" id="{{lt}}"></box>
</div>
<div class="col-xs-1 scroll-button" ng-click="gotoBottom()"><i class="glyphicon glyphicon-chevron-right"></i> </div>

和框模板:
<div class="alphabet-kutu">{{name|uppercase}}</div>

以及指令:
app.directive("box", function() {
return {
    restrict:"E",
    scope:{
        name:"@"
    },
    templateUrl:"/static/templates/customers/box.html",
    link:function(scope,elem,attrs,ctrl) {

    }
  };
})

如你所见,我有一个div,包含字母表中的字母和水平滚动的样式。
当一个按钮被点击,我想滚动这个div到左边。
 $scope.gotoBottom = function (){
var element = angular.element( document.querySelector( '#letters' ) );
    element.animate({scrollLeft: element.offset().left}, "slow");
    //element.scrollLeft(100);

};

我试过动画和左滚动功能。但我没有做任何好事。对于这种情况,angularjs中是否有特殊的函数?如何使用jquery将div向左滚动?

最佳答案

我认为你应该给你的左卷轴另一个值。因为在给定的代码中,您试图将元素滚动到其当前位置,所以它不会移动。例如:
element.animate({scrollLeft: element.offset().left - 50}, "slow");
注意:请确保包含jquery。嵌入在angularjs中的jquery子集似乎不支持animate函数

07-24 09:45
查看更多