模拟滚动时从顶部开始的 slide-in 页面打开

Simulate a slide-in page opening that starts at the top when scrolled

我很难想知道如何用文字来解释这个问题,所以我制作了一个快速的线框草图来解释这个问题。

我正在创建一个显示一长串新闻项目的网络应用程序。当有人点击新闻项时,我通过 .load().html 文件加载到 div 中,并使用 CSS-transitions 模拟 slide-in 效果。

但是,由于 div 是页面本身的一部分,并且用户在页面上滚动,加载的 div 和新闻项目本身也会滚动。

查看此问题的实例 here调整浏览器大小!

想要的解决方案
无论您在概览页面上滚动了多少,当您单击某个项目并 .load() 并滑入 div 内容时,它应该从顶部开始,而不是均匀滚动。

原型将仅针对 iPhone 6+ 构建,因此仅在重要的情况下在您的解决方案中考虑 iOS。

和JavaScript

如果需要,您可以使用 JavaScript 来完成此操作。我注意到您的网页使用了 jQuery,因此此解决方案应该能够使用您现在拥有的内容。

$("html, body").animate({ scrollTop: 0 }, 500);

这将以动画方式滚动到网页顶部。将“500”更改为其他内容以获得更慢的效果。

没有JavaScript

您可以考虑让侧边部分仅填充 100% 的浏览器 window,并拥有自己的滚动区域。这应该意味着侧面只滚动,当内容被替换时它应该自动滚动到顶部(假设您删除元素并重新添加它)。