2015-05-14 5 views
0

Я использую собственную горизонтальную прокрутку с элементами управления (влево/вправо) Как я могу найти, сколько прокрутки я получил справа?Найти максимальную прокрутку элемента имеет

Мой код выглядит следующим образом:

$scope.scrollFilters = function(dir) { 
    var leftPos = $('.filters').scrollLeft(); 
    var containerWidth = $('.filters').width(); 
    var scrollTo = 0; 
    if (dir == 'right') { 
     scrollTo = leftPos + scrolled >= containerWidth ? containerWidth : leftPos + scrolled; 
    } else { 
     scrollTo = leftPos - scrolled <= 0 ? 0 : leftPos - scrolled; 
    } 

    $('.filters').animate({ 
     scrollLeft: scrollTo 
    }); 
}; 

То, что я заинтересован в становится фактической $('.filters').width(). На данный момент он просто вернет ширину, которую я установил в CSS, я хочу получить фактическую ширину, если бы я не ограничивал ширину div.

P.S. его приложение AngularJS, но не думаю, что на этот раз мне это хорошо.

Спасибо за помощь!

ответ

0

вы должны попытаться захватить его максимальная ширина

var theWidth = Math.max.apply(null, $(".filters").map(function() { 
 
    return $(this).outerWidth(true); 
 
}).get());

0

Если есть свиток, это означает, что внутренний элемент больше, чем внешний элемент, так что вы должны вычислить разницу между внутренняя ширина (большая) и внешняя ширина (меньше) или их высота.

Это может вам помочь, если вы уже пользуетесь этой же идеей: How to get maximum document scrolltop value

Смежные вопросы