我正在实现我自己的带控件的水平滚动(左/右) 我怎样才能找到右边有多少滚动?
我的代码如下:
$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 :(得分:0)
你应该尝试抓住它的最大宽度
var theWidth = Math.max.apply(null, $(".filters").map(function() {
return $(this).outerWidth(true);
}).get());
答案 1 :(得分:0)
如果有滚动,则表示内部元素大于外部元素,因此您应该计算内部宽度(更大)和外部宽度(更小)或它们的高度之间的差异。
这可能对您有所帮助,因为您必须应用相同的概念:How to get maximum document scrolltop value