How do I get the max value of scrollLeft?

2019-01-17 05:54发布

Okay I'm using jQuery and currently getting max value of scrollbar doing this:

var $body = $('body');
$body.scrollLeft(99999); // will give me the max value since I've overshot
var max_value = $body.scrollLeft(); // returns 300
$('body').scrollLeft(0);

When I try this: $body[0].scrollWidth I just get the actual width of the contents - 1580

I'm thinking there has to be a better way I'm forgetting.

EDIT To clarify, I also tried $(window).width() and $(document).width() which gave me 1280 and 1580, respectively.

8条回答
Melony?
2楼-- · 2019-01-17 06:31

I think that you could use something like this:

this.children().width()*(this.children().length+1)-this.width()-10;

The previous line of code is going to get the width of one of the children and multiply this with by the number of chilren, finally you need to substract the width of the element minus an offteset

查看更多
贪生不怕死
3楼-- · 2019-01-17 06:32

Simple solution is

var maxScrollLeft = $(document).width() - $(window).width();
查看更多
登录 后发表回答