2010-05-22 160 views
4

我是jQuery的新人(只有兩個星期大),所以請耐心等待。我知道前一段時間有人問過類似的問題,但我不知道如何使問題的答案適應。我有一個很寬的多列布局是這樣的:jQuery在水平滾動後找到第一個可見元素

| aaaa | bbbb | cccc | … | 
| aaaa | b | cc | … | 
| aaa | cccc | ddd | … | 

代碼如下:

<div id="container"> 
    <p>aaaaaaaaaaa</p> 
    <p>bbbbb</p> 
    <p>ccccccccccc</p> 
    <p>dddddddddd</p> 
    ... 
    <p>xxxxxx</p> 
</div> 

沒有垂直滾動和容器寬度以這樣的方式設置只有兩個顯示列。用戶向左或向右滾動以查看相關文本。我想要的是獲取當前顯示的位置,將其存儲(可能位於cookie中),並在用戶下次打開頁面時檢索它。

我認爲我需要一種方法來找出哪一段是目前最左上角的,但其他建議是非常受歡迎的。

任何想法?

BTW:這是一個內部項目,所以Mozilla的只有:-)

+0

Mozilla是什麼意思? Navigator,Camino,Minimo或Firefox? – 2010-06-21 21:00:08

回答

1

建議:爲什麼檢測開始的段落,因爲用戶可以段落之間滾動。

aa|bbbb|cc 

在這裏,用戶可以看到三個段落(1個整體,2分)爲滾動是連續的並且不與段落離散的。除非手動滾動被禁用,用戶只能向左走或一些自定義控件第諸如介於右:

<>

,那麼你可以簡單地保存左滾動狀態和恢復時該頁面重新打開。您也可以使用新的localStorage API而不是Cookie來在本地跨會話保存數據。

jsfiddle上試試這個例子。滾動並刷新或關閉並重新打開頁面。

+0

是的,手動滾動被禁用,用戶只能在段落之間滾動跳轉 。存儲滾動狀態的想法很誘人 但是如何調整客戶端大小?除非有一個安全的方式 強制客戶端最大化(不是全屏模式,請介意你)和 保持它的整個會議? 至於localStorage API,男人在哪裏給你買啤酒? – 2010-05-22 22:51:41

+0

是不是localStorage真棒:) ..窗口調整大小可以是這個解決方案的問題。 – Anurag 2010-05-24 02:57:16