所以,我在Facebook FBML App上工作。我想要的很简单。只需在页面中央放置一个div节目,然后滚动页面即可。即总是在中心。
普通的JS很容易。我只使用pageYOffset
然而,在使用FBJS的Facebook中,我不确定我应该使用什么。它没有getPageYOffset()..我尝试了getScrollTop()..这似乎不对。
那么,谁知道怎么做?
答案 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()
?这不会保持对象固定,但它至少会从正确的位置开始。
另外一个想法 - 你可以生成一个图像,并将图像设置为背景,我认为你可以保持固定。这取决于你究竟追求的是什么。