我试图在显示隐藏元素之前滚动它。下面是我正在使用的代码:
第一个
它的工作很好,如果它的显示,但如果它的display:hidden
,它将简单地不工作。有没有无论如何,以避免这种情况,使它的工作?
JSF中间文件:http://jsfiddle.net/dpjzJ/
我试图在显示隐藏元素之前滚动它。下面是我正在使用的代码:
第一个
它的工作很好,如果它的显示,但如果它的display:hidden
,它将简单地不工作。有没有无论如何,以避免这种情况,使它的工作?
JSF中间文件:http://jsfiddle.net/dpjzJ/
4条答案
按热度按时间i2byvkas1#
请使用
visibility: hidden;
或类似的类:或者(来自样板文件):
display: none;
的内容在页面上没有位置,您可能已经知道了。Check out this article on the subject.
pkwftd7m2#
如果您的目标只是将scrollLeft和scrollTop设置为0(因为这是我的目标),一个非常笨拙的解决方案是按照以下步骤操作:
scrollTop和scrollLeft现在将设置回0,即使它们不可见。
0h4hbjxa3#
这会将scrollTop和scrollLeft都设置为0,即使不显示任何内容。
使用示例:
lf5gs5x24#
这并不理想,但我解决这个问题的方法是添加一个一次性的
IntersectionObserver
,它在元素第一次变为可见时触发。并像这样使用它:
示例:https://jsbin.com/gigumewemo/edit?html,output