jQuery scrollLeft无法处理隐藏元素

jQuery scrollLeft not working on hidden element

本文关键字:隐藏 元素 处理 scrollLeft jQuery      更新时间:2023-11-21

我有一个大容器div,里面有很多其他元素,并且有滚动条。当DIV可见时,我得到scrollLeft的数量,但当我隐藏元素scrollLeft()时,返回0。

同样,如果我在scrollLeft(100)中设置值,我最终会得到0。

遵循Jsfidle

jQuery.hide()display: none;设置为它所应用的元素。display: none;的元素的维度为0px乘以0px,渲染引擎将其视为当前不属于DOM的元素。因此,除非临时显示元素,否则无法检索当前滚动位置。

$("#parent").show();
console.log($("#parent").scrollLeft());
$("#parent").hide();

这是最新的小提琴。

如何隐藏您的div?尝试使用

visibility:hidden 

而不是

display :none

因为Visibility处理DIV的可见性,但保留空间,display处理DIV占用的空间。