我有一个大容器DIV,其中有许多其他元素并且有滚动条。当DIV可见时我获得了scrollLeft的数量,但是当我隐藏元素时scrollLeft()
返回0。
如果我在scrollLeft(100)
中设置值,我最终会得到0。
答案 0 :(得分:1)
jQuery.hide()
将display: none;
设置为它应用的元素。 display: none;
的元素的维度为0px
乘0px
,并且由呈现引擎将其视为当前不属于DOM
的元素。因此,您将无法检索当前滚动位置,除非您暂时显示该元素。
$("#parent").show();
console.log($("#parent").scrollLeft());
$("#parent").hide();
答案 1 :(得分:1)
你怎么隐藏你的div? 尝试使用
visibility:hidden
而不是
display :none
因为Visibility处理DIV的可见性但保留空间,DIV占用的显示句柄空间。