如何在JavaScript中获得HTML元素的水平滚动百分比?
如何计算元素上滚动条在开始和结束之间覆盖的“距离”百分比如何在JavaScript中获得HTML元素的水平滚动百分比?,javascript,jquery,html,scroll,Javascript,Jquery,Html,Scroll,如何计算元素上滚动条在开始和结束之间覆盖的“距离”百分比 <div id="container" style="overflow-x:scroll; max-width:1000px;"> <div id="contained" style="width:3000px;"></div> </div> <script> $('#container').scroll(function(){ var scrollPercen
<div id="container" style="overflow-x:scroll; max-width:1000px;">
<div id="contained" style="width:3000px;"></div>
</div>
<script>
$('#container').scroll(function(){
var scrollPercentage; //How to get scroll percentage?
});
</script>
$('#容器')。滚动(函数(){
var scrollPercentage;//如何获取滚动百分比?
});
因此,如果滚动条完全位于左侧,我们希望得到0
,如果滚动条完全位于右侧,我们希望得到100
,请参见此处:
例如,将该数字四舍五入到两位小数可能很有用。然后,使用
scrollPercentage.toFixed(2);
编辑:更好地使用
var scrollPercentage = 100 * this.scrollLeft / (this.scrollWidth-this.clientWidth);
正如@Blazemonger所指出的那样
var scrollPercentage = 100 * this.scrollLeft / (this.scrollWidth-this.clientWidth);
或者,如果您确实必须使用jQuery:
scrollPercentage = 100 * $(this).scrollLeft() / ($('#contained').width() - $(this).width());
scrollPercentage = 100 * $(this).scrollLeft() / ($('#contained').width() - $(this).width());