【问题标题】:JS/jQuery action fired when scrollTopscrollTop 时触发 JS/jQuery 动作
【发布时间】:2013-05-24 09:46:10
【问题描述】:

这个问题纯粹是出于可用性目的。

如果问题的标题不是很清楚,我很抱歉。这不是关于当页面滚动到顶部时如何触发动作(不是很难),而是关于当用户滚动到顶部并不断尝试滚动更多(顶部)时如何触发动作。

场景如下:页面最初通过 AJAX 加载项目列表并呈现它们。如果用户尝试越来越多地向上滚动到顶部(并且不要在顶部位置停止滚动),则应调用“加载新项目”操作。

如何实现?

【问题讨论】:

  • 所以你想要一个在顶部工作的无限滚动,而不仅仅是底部?
  • @Barmar 是的,我想要这样的东西。实际上它只是用于新项目(非常有限,不是无限的)。

标签: javascript jquery scroll


【解决方案1】:

您可能认为加载更多项目的 div 位于窗口顶部。但是网站正在做什么:他们在位置 y = 0px 上创建一个 div,假设 y = 30px。当他们显示页面时,他们会自动滚动到 y=30px。所以人们会看到正常的页面,现在当用户向上滚动时(这当然是可能的,因为他在 y=30px 上)他会看到“加载更多项目”div,您可以轻松检查“加载更多项目”是否div 在当前视口中是可见的,因为它是页面的一部分,如果是,则触发事件以加载更多项目,在此函数的回调中,您可以再次滚动到 y=30px。

【讨论】:

  • 这是非常好的方式,但可能不如平板/智能手机的“释放刷新”理想。
  • 你可能会认为其他应用程序的工作方式可能会有所不同,我也是这么想的,但是在与许多开发人员交谈后,我发现他们都以这种方式创建了该功能 :) 当然也有可能其他解决方案也是如此,但据我所知,这是“众所周知的”方式。
  • 顺便说一句,用 JavaScript 编码可以创建花哨的反弹效果和幻灯片效果 :)
  • @hiro,忘记在评论中标记你的名字,所以你很可能没有收到通知 :) 无论如何,如果你有更多关于它的问题,请告诉我
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-04
  • 1970-01-01
相关资源
最近更新 更多