2010-05-22 92 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