Javascript 无限卷轴+;Swipe.js

Javascript 无限卷轴+;Swipe.js,javascript,slider,swipe,infinite-scroll,Javascript,Slider,Swipe,Infinite Scroll,背景: 我正在利用Swipe.js和无限Ajax滚动(JQ)制作一个投资组合网站 问题: 将额外页面中的内容加载到当前页面时,已加载的Swipe.js脚本不会对其进行处理。这意味着新内容的标记没有改变(需要滑动功能才能工作) 我想我需要在每次重新加载页面后启动Swipe.js脚本。这能解决问题吗?请像我8岁一样向我解释这件事。JS不是一套强悍的西装 演示: 您可以看到,当页面加载新内容时,滑块两侧的按钮不再工作。是的,您是对的,加载图像后,您必须在这些新元素上创建一个新的滑动实例(因为加载页面

背景: 我正在利用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位,那你就完全可以让我开心了!