如何让div浮动并滚动页面的中心?

时间:2010-04-28 22:53:56

标签: facebook html scroll css-float

所以,我在Facebook FBML App上工作。我想要的很简单。只需在页面中央放置一个div节目,然后滚动页面即可。即总是在中心。

普通的JS很容易。我只使用pageYOffset

然而,在使用FBJS的Facebook中,我不确定我应该使用什么。它没有getPageYOffset()..我尝试了getScrollTop()..这似乎不对。

那么,谁知道怎么做?

3 个答案:

答案 0 :(得分:1)

你以前见过这样的事吗?听起来像FBJS因缺乏API选项而导致问题。

在普通JS中执行此操作的一种方法是获取滑块的位置,包括右侧和底部,以及整个屏幕大小,然后根据完整的帧大小确定可视窗口的中心位置,滑块偏移。

所有这些变量都应该通过javascript定义或检索,以便你抓取和操作,然后只需更新div上的css值就可以将窗口移动到正确的位置。然后,您可以轮询窗口滑块的状态或监视它们的事件,并在更新时检索它们的位置以重新计算窗口的中心。

如果FBJS无法确定窗口大小或滑块位置,那么您的手上就会遇到更难的问题。

答案 1 :(得分:0)

使用css

#myDiv {
    /* Keep position fixed (scroll invariant) */
    position: fixed;

    /* Center */
    left: 50%;
    top: 50%;

    /* Set width and margin to account for half of width */
    width: 200px;
    margin-left: -100px;

    /* Set height and margin to account for half of height */
    height: 100px;
    margin-top: -50px;
}

前三行将在页面的左上角居中。 接下来的4行设置宽度,然后向后和向上移动div,使中心居中。

w3Schools关于position的更多信息。

答案 2 :(得分:0)

如何使用Facebook的电话myDiv.getAbsoluteTop()?这不会保持对象固定,但它至少会从正确的位置开始。

另外一个想法 - 你可以生成一个图像,并将图像设置为背景,我认为你可以保持固定。这取决于你究竟追求的是什么。