How to get horizontal scrolling percentage of an HTML element in JavaScript?

前端 未结 2 500
再見小時候
再見小時候 2020-12-10 15:16

How can we calculate the percentage of \'distance\' covered by the scrollbar on an element between start and end?

相关标签:
2条回答
  • 2020-12-10 15:30

    See it here: http://jsfiddle.net/vWDfb/1/

    $('#container').scroll(function(){
        var scrollPercentage = 100*this.scrollLeft/this.scrollWidth/(1-this.clientWidth/this.scrollWidth);
    });
    

    It can be useful to round that number to, for example, two decimals. Then, use

    scrollPercentage.toFixed(2);
    

    Edit: Better use

    var scrollPercentage = 100 * this.scrollLeft / (this.scrollWidth-this.clientWidth); 
    

    as @Blazemonger pointed out.

    0 讨论(0)
  • 2020-12-10 15:44
    var scrollPercentage = 100 * this.scrollLeft / (this.scrollWidth-this.clientWidth); 
    

    http://jsfiddle.net/vWDfb/3/

    Or, if you really must use jQuery:

    scrollPercentage = 100 * $(this).scrollLeft() / ($('#contained').width() - $(this).width());
    

    http://jsfiddle.net/vWDfb/5/

    0 讨论(0)
提交回复
热议问题