0

在我的 angularjs 应用程序中,我有大约 23 个选项卡。因此90%,我为带有overflow : hidden, 和10%宽度PrevNext图标的选项卡提供了宽度。每个选项卡都有36px宽度。因此,默认情况下,页面上的 5 个选项卡变得可见。现在,当我单击 时Next,我只想向左滚动 5 个选项卡,这样继续直到最后一个选项卡可见。因此,在我的Next图标单击事件中,我试图在我的控制器中执行以下操作,以使最大滚动向左然后使用它,但在我的代码 maxScrollLeft中正在返回NaN

 _self.getNextTabs = function () {            
          var maxScrollLeft = $element.scrollWidth - $element.clientWidth; 
          alert(maxScrollLeft);
          angular.element(document.querySelector('.main_tabSet .nav-tabs')).scrollLeft(600);    
        }

在这里,我.scrollLeft(600);为了测试目的进行了硬编码,所以当我单击时Next,选项卡会向左滚动。但是我想根据向左的最大滚动和被占用的选项卡数量使这种滚动正常工作。任何人都可以帮我修复它。

4

1 回答 1

1

不确定 _self.getNextTabs 是否在指令、控制器或其他位置,但名称 $element (对我而言)表明它可能在指令内?

如果是这样,那么我认为 $element 可能是一个 jquery 对象。并且 - 如果是这种情况,那么您将需要使用语法$element[0].scrollWidth等...

_self.getNextTabs = function () {            
   var maxScrollLeft = $element[0].scrollWidth - $element[0].clientWidth; 
   angular.element(document.querySelector('.main_tabSet .nav-tabs')).scrollLeft(600);    
}
于 2016-01-19T15:48:18.833 回答