В моем приложении angularjs у меня есть примерно 23 вкладки. Так 90%
ширины, которую я дал для вкладок с overflow : hidden
, и 10%
ширина Prev
и Next
иконки. Каждая вкладка имеет ширину 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
, вкладки прокручивают влево. Но я хочу, чтобы эта прокрутка работала правильно, основываясь на максимальной прокрутке влево и количестве занятых табов. может кто-нибудь помочь мне в ее исправлении.
Да, вы правы. Но теперь как scrollWidth, так и clientWidth идут как 1353, знаете ли вы, почему оба одинаковы? –
Не знаю, как [этот ответ стека] (http://stackoverflow.com/a/21064102/4747123), кажется, указывает, что вы смотрите на правильные свойства ... Если не использовать css-переполнение: hidden означает scrollWidth = clientWidth. [Возможно, проблема FFox?] (Http://stackoverflow.com/a/15811768/4747123) – bri
На самом деле это внутренний контроллер, поэтому я дал var maxScrollLeft = angular.element (document.querySelector ('. Main_tabSet .nav-tabs ')). scrollWidth; но maxScrollLeft подходит как неопределенный. –