如何获取div的当前滚动位置?

3
我想知道一个 div 的滚动位置。 我有两个按钮,左和右,在它们之间有一个可滚动的 div,里面填充了数据。 如果右侧没有数据,则禁用右侧的按钮,如果左侧没有更多数据,则禁用左侧的按钮。 因此,我认为需要知道当前的滚动位置。欢迎提供任何增强建议。
 `    return <div className="row">
        <div ref="previous_column" onClick={this.shift_left} href="#" style={style_div}></div>
        <div className="table-container" ref="table_container"> 
            <div className="sliding-window">
                    {this.props.grocery_cart.delivery_slots.map(function(obj) {
                            return <div key={d}>
                                        <CalendarDetail values={d} ref="delivery_date"/>
                                    </div>
                    }.bind(this))}
             </div>
        </div>
        <div ref="next_column" href="#" onClick={this.shift_right} style={style_div} className="plr-slide"></div>
 </div>`

我刚刚添加了一些相关的代码。
前一列和后一列是div(左右按钮)。
表格容器是一个固定的div,里面的滑动窗口可以滑动。
2个回答

5
您可以使用jQuery来实现,如下所示:
//axis y position (or top position)
$('[ref="table_container"]').scrollTop()
//axis x position (or left position)
$('[ref="table_container"]').scrollLeft()

或者仅使用JavaScript,如下所示:
//axis y position (or top position)
document.querySelectorAll('[ref="table_container"]').scrollTop;
//axis x position (or left position)
document.querySelectorAll('[ref="table_container"]').scrollLeft;

你可以在这里阅读更多相关内容。

Element.scrollLeft

Element.scrollLeft 属性获取或设置元素内容向左滚动的像素数。


我想要水平滚动..从左到右并禁用。scrollTop()函数能给我x轴位置吗? - Sijan Shrestha
非常感谢。 $('.table-container').scrollLeft() 这解决了问题。 - Sijan Shrestha

0
你可以使用 div.position() 方法;
然后获取 position.top 属性。

我想获取左右位置...滚动条顶部给我垂直位置 - Sijan Shrestha
1
所以你需要使用 div.position().left。 - Attenzione
@Attenzione 他说的话。 - user3806549
他想要滚动位置...而不是元素的位置...请仔细阅读问题。 - Adi Darachi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接