Javascript 无限卷轴+;Swipe.js
背景: 我正在利用Swipe.js和无限Ajax滚动(JQ)制作一个投资组合网站 问题: 将额外页面中的内容加载到当前页面时,已加载的Swipe.js脚本不会对其进行处理。这意味着新内容的标记没有改变(需要滑动功能才能工作) 我想我需要在每次重新加载页面后启动Swipe.js脚本。这能解决问题吗?请像我8岁一样向我解释这件事。JS不是一套强悍的西装 演示:Javascript 无限卷轴+;Swipe.js,javascript,slider,swipe,infinite-scroll,Javascript,Slider,Swipe,Infinite Scroll,背景: 我正在利用Swipe.js和无限Ajax滚动(JQ)制作一个投资组合网站 问题: 将额外页面中的内容加载到当前页面时,已加载的Swipe.js脚本不会对其进行处理。这意味着新内容的标记没有改变(需要滑动功能才能工作) 我想我需要在每次重新加载页面后启动Swipe.js脚本。这能解决问题吗?请像我8岁一样向我解释这件事。JS不是一套强悍的西装 演示: 您可以看到,当页面加载新内容时,滑块两侧的按钮不再工作。是的,您是对的,加载图像后,您必须在这些新元素上创建一个新的滑动实例(因为加载页面
您可以看到,当页面加载新内容时,滑块两侧的按钮不再工作。是的,您是对的,加载图像后,您必须在这些新元素上创建一个新的滑动实例(因为加载页面时,它们在开始时不存在)。
基于无限滚动的文档,您可以使用 因此,您的
jQuery.ias
构造函数如下所示:
jQuery.ias({
// ... your settings...
onRenderComplete: function(items) {
$(items).each(function(index, element) {
new Swipe(element);
});
}
});
这应该以某种方式起作用,但我不太确定;我还没有使用过这些库
编辑:在进一步检查代码之后,我看到您有一些内联的click处理程序,如:
onclick='two.prev();返回false;'代码>
您需要删除此项并在相同的onRenderComplete
函数中添加onclick
句柄
onRenderComplete: function(items) {
var swipe;
$(items).each(function(index, element) {
swipe = new Swipe(element);
});
// find tags with the class 'forward' inside the current element and add the handler
$(element).find('.forward').on('click', function() {
swipe.next();
});
// ... also for previous
}
顺便说一句:通常你应该提供一个重要的代码部分,这样我们就更容易发现问题,而且问题不会在链接页面更改时变得模糊。另外,如果有人知道如何从url中删除#home/#about位,那你就完全可以让我开心了!