如何在不使用Flash的情况下最初隐藏div?

问题描述 投票:0回答:1

我有一个上下滑动的div。 Because you cannot仅使用CSS即可将其滑出视图,而是使用如下JavaScript:

showHideElement = (element, open) => {
  if (open) {
    element.style['margin-top'] = 0;
  } else {
    element.style['margin-top'] = -element.scrollHeight + "px";
  }
}

然后我有一个按钮,用户可以单击该按钮以将div切换为视图或视图。这一切都很好。

问题是,我希望能够保存用户的首选项,这样,如果他们将div切换到视图之外,那么下次他们刷新页面时,它已经被切换到视图之外。这是使用localstorage完成的。

我遇到的问题是,为了确定margin-top,必须首先呈现该元素,以便可以找到其scrollHeight。当用户刷新页面时,这会导致“闪烁”,在该页面中,他们看到div的瞬间会滑出视线。

我希望有一个解决方案,当用户加载页面时div已经不在视线范围内,但是如何在不首先呈现它即可确定scrollHeight以便可以设置页边距顶端的情况下确定该值?

javascript html css css-transitions
1个回答
0
投票
尝试将其设置为display:nonevisibility: hidden
© www.soinside.com 2019 - 2024. All rights reserved.