在我的 Web 应用程序中,我在一个 div 中有内容,它将位于浏览器窗口的中心。
这个内容一开始是隐藏的,一次内容少,一次内容多,所以div的尺寸和左上角的位置发生变化。
我使用 jQuery UI 定位实用程序来定位 div,但它无法处理隐藏元素。
到目前为止,我做了以下事情:
* div 是隐藏的(显示:无)并且不透明度为 0,“top”为 0,“left”为 0。
* 现在我从显示“无”更改为“阻止”。
* 由于不透明度为 0,窗口左上角的 div 仍然无法识别。
* 在这种情况下,我将带有 jQuery ui 位置的 div 定位到中心。
* 之后我将不透明度从 0 更改为 1。
* 通过这种方式,我希望用户不会看到从 0/0 到中心位置的“跳跃”。
现在我想简化我的小部件。
我想取消不透明度,只需将显示“无”更改为“ block ”并定位 div。
我将很快对其进行测试,看看我是否看到 div 从某个起始位置“跳跃”到目标位置。问题是我只有相对较快的测试机器。
如果有人告诉我,用户会在慢速机器/慢速浏览器上看到从初始位置跳到目标位置,我不会对我的小部件进行任何更改。
提前致谢
最佳答案
即使在速度非常快的机器上,您也会注意到它会跳到页面中间。保证。
您应该使用 visibility: hidden;
而不是 display: none;
。以这种方式隐藏的对象仍然保持其框大小,并且您的位置插件将毫无问题地将其居中。
当您想要显示 div 时,将 visibility
属性切换为 visible
。
关于javascript - 需要有关定位最初隐藏对象的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11499794/