2010-04-28 69 views
0

因此,我在Facebook FBML應用程序上工作。我想要的很簡單。只需在頁面中央顯示div,然後滾動頁面即可。即總是在中心。如何使div浮動並滾動頁面中心?

這對正常的JS來說很容易。我只是使用pageYOffset

但是,在Facebook使用FBJS,我不知道我應該使用什麼。它沒有getPageYOffset()..我試圖getScrollTop()..它似乎不是正確的事情。

那麼,有誰知道如何?

回答

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; 
} 

第3線將集中在網頁的左上角。 接下來的4行設置寬度,然後將div上下移動以使中心居中。

更多關於position的信息來自w3Schools。

+0

Positioun:固定不被Facebook FBML識別。 :) – Murvinlai 2010-04-28 23:06:36

0

如何使用Facebook的電話myDiv.getAbsoluteTop()?這不會使對象保持固定,但它至少會從適當的位置開始。

只有一個其他的想法 - 你可以生成一個圖像,並將圖像設置爲背景,我認爲你可以保持固定。這取決於你究竟是什麼。

+0

它是..但太糟糕了,找不到窗口高度和頁面偏移量。 – Murvinlai 2010-04-28 23:19:07

1

你有沒有在FB上看過類似的事情?這聽起來像FBJS是由於缺乏API選項而導致你的問題。

在普通JS中做到這一點的一種方法是獲取滑塊的位置,包括右側和底部以及整個屏幕大小,然後確定可見窗口中心基於全幀大小的位置和滑塊偏移量。

所有這些變量應該定義或可以通過JavaScript獲取,供您抓取和操作,然後它只是更新div上的css值以將窗口移動到正確的位置。然後可以輪詢窗口滑塊的狀態或監視它們的事件,並在更新後重新計算它們的位置以重新計算窗口的中心。

如果FBJS沒有設施來確定窗口大小或滑塊位置,那麼您的手上就會遇到更難的問題。

+1

是的。這與OP最初描述的看起來不可能。 – Geoff 2010-04-29 14:32:59