我只是购买无限Ajax滚动后,有困难,试图实现replaceState()
无限滚动。我已经设法让一切设置与以下代码正确工作:
function infiniteScroll() {
// Init infinite scroll
var ias = $.ias({
container: '#masonry-filter',
item: '.post',
pagination: '.nav-links',
next: '.nav-previous a'
});
// Run isotope on additional load
ias.on('render', function(newElements) {
$(newElements).css({ opacity: 0 });
});
ias.on('rendered', function( newElements ) {
$('#masonry-filter').isotope( 'appended', $( newElements ) );
});
ias.extension(new IASTriggerExtension({ offset: 100 }));
ias.extension(new IASPagingExtension());
ias.extension(new IASHistoryExtension({prev: '.nav-next a' }));
}
正如你可能注意到的,我正在使用这个与Metafizzy的同位素插件。我也在Wordpress中使用它,并将其连接到典型的Wordpress分页。
虽然一切似乎工作正常,它不工作的方式,我想。我的假设是,它的工作方式有点像http://tumbledry.org/,在滚动一段时间后,离开页面,然后在浏览器中单击,它将用户带到他们单击链接时所处的完全相同的位置。该插件似乎使用replaceState()
与WordPress默认用于分页的url结构相同(example.com/page/2)。我不知道这是故意的,还是巧合。因此,当我点击一篇文章,然后点击浏览器的后退按钮时,它实际上会把我带到example.com/page/2页面,在页面顶部有一个显示新文章的按钮。它不会把我带到原始帖子页面,也不会把我带到我点击帖子的页面上的确切位置(它通常会把我带到页面的底部)。此外,当我单击页面顶部的按钮以显示新帖子时,它会将新帖子附加到页面底部(正如您在我的代码中看到的那样)。
我希望这工作作为风干博客的工作。在那里你可以点击一个链接,然后点击后退按钮回到你在页面上的确切位置(不需要加载新的帖子)。请让我知道如果这是可能的,或者如果我搞砸了执行。我将非常感谢任何关于功能的深入信息,因为我想弄清楚如何才能使它按我想要的方式工作。
Infinite AJAX Scroll采用了与tumbledry不同的方法。你说它会加载较新的页面,但在香草设置中,当你点击"加载更多"链接时,前页的项目就会被添加。您当前的rendered
监听器没有考虑到这一点。
另外,如果你按回插件将得到大约你的偏移量,但不完全是。这将需要一个更高级的设置与服务器端代码,并将破坏这个插件的目的:简单的渐进增强无限滚动,没有任何服务器端编码。
如果你真的想要像tumbledry一样工作,它的作者有一个关于他实现的详细帖子:http://tumbledry.org/2011/05/12/screw_hashbangs_building
Infinite AJAX Scroll采用了与tumbledry不同的方法。你说它会加载较新的页面,但在香草设置中,当你点击"加载更多"链接时,前页的项目就会被添加。你当前渲染的监听器没有考虑到这个
谢谢你的真知灼见。
如果你按回插件将得到大约的偏移你是,但不完全是。这将需要一个更高级的服务器端代码设置,并将破坏这个插件的目的:简单的渐进增强无限滚动,而不需要任何服务器端代码。
我知道这不会是完美的,但它总是把我带回到页面的底部(页脚区域,在无限滚动下)。我认为你需要使用一个按钮来触发无限滚动,同时使用历史记录功能?
如果你真的想要像tumbledry一样精确的工作,它的作者有一个关于他实现的详细帖子:http://tumbledry.org/2011/05/12/screw_hashbangs_building
我提出这个问题是因为我已经看了他的帖子,并试图滚动我自己的无限卷轴,但没有成功。
恕我直言,历史功能的用户体验,虽然雄辩地结合了WP服务器端功能,但有点奇怪。登陆一个Wordpress分页页面,点击一个按钮来显示原来在页面上的帖子,而你已经关闭了它。这个插件很棒,我知道你正在利用可用的技术/功能。我想我将坚持使用基本功能,而不是使用"历史"。