jQuery查找水平滚动后第一个可见元素

4

我是一个新手(只有两周的经验)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中),并在下次用户打开页面时检索它。
我认为我需要一种方法来找出当前左上角的段落,但其他建议也非常欢迎。
有什么想法吗?
顺便说一句:这是一个内部项目,所以仅限于Mozilla :-)

你所说的Mozilla是指Navigator、Camino、Minimo还是Firefox? - Peter Mortensen
1个回答

1
建议:为什么要检测起始段落,用户可以在段落之间滚动。
aa|bbbb|cc

在这里,用户看到三个段落(一个完整,两个部分),因为滚动是连续的,而不是离散的。除非禁用手动滚动,并且用户只能使用一些自定义控件左右移动段落,如:

< >

那么您可以简单地保存左滚动状态,并在重新打开页面时恢复该状态。您还可以利用新的 localStorage API 代替 cookies 在本地保存跨会话的数据。

jsfiddle 上尝试此示例。滚动并刷新或关闭并重新打开页面。


是的,手动滚动已禁用,用户只能在段落之间进行跳跃滚动。存储滚动状态的想法令人心动,但是客户端的调整大小怎么办?除非有安全的方法强制客户端最大化(不是全屏模式,请注意),并将其保持整个会话?至于localStorage API,老兄,我在哪里给你买啤酒? - lolo flores
本地存储很棒 :) .. 使用此解决方案可能会导致窗口调整大小的问题。 - Anurag

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接