我有一个如下所示的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);
};
我尝试了animate和scrollLeft函数。但我没有做任何好事。在这种情况下,AngularJS中是否有特殊功能?如何使用jQuery将div向左滚动?
答案 0 :(得分:3)
我认为你应该给你的scrollLeft另一个值。因为在给定的代码中,您正在尝试将元素滚动到其当前位置,因此它不会移动。例如:
element.animate({scrollLeft: element.offset().left - 50}, "slow");
PS:请确保包含jQuery。嵌入在angularJS中的jQuery子集似乎不支持animate
函数