【问题标题】:Using jquery-ias with async-loaded content将 jquery-ias 与异步加载的内容一起使用
【发布时间】:2014-04-27 23:46:51
【问题描述】:

我已经成功地将 jQuery Infinite Ajax Scroll 插件集成到 my development site 中 - 它被使用了两次,第一次在左侧的线程列表中,第二次在加载单个主题时 - 但我遇到了麻烦第二个ias 实例在这里。

基本上一个topic的内容是通过$.get加载然后渲染到页面中的,然后我在JS中触发setupThreadDetailDownwardScroll()创建了一个ias的实例:

var iasDetail = jQuery.ias({
    container:  "#reply-holder",
    item:       ".post",
    pagination: ".threaddetail-pagination",
    next:       ".load-next-inner-link a",
    delay:      2000,
  });

  if (iasDetail.extension) {
    iasDetail.extension(new IASPagingExtension());
    iasDetail.extension(new IASTriggerExtension({
      text: 'More Replies', 
      html: '<div class="scroll-pager"><span>{text}</span></div>',
      offset: 10,
    }));
    iasDetail.extension(new IASNoneLeftExtension({html: '<div class="scroll-message"><span>No more replies</span></div>'}));
    iasDetail.extension(new IASHistoryExtension({
        prev: '.load-previous-inner-link a',
    }));
  }

  iasDetail.on('load', function() {
    $('#reply-holder').append(scrollLoading);
  })

  iasDetail.on('rendered', function() {
    $('.scroll-loading').remove();
    iasDetail.unbind();
  })

但问题是这仅适用于您加载的第一个主题 - 您将在第一个线程中获得工作分页,但是当您打开下一个线程时它将回退到锚链接。

所以我认为一旦插入了这个新内容,我需要重新绑定 ias,这就是为什么我在 rendered 中添加了 unbind() 调用,然后在加载另一个线程时重新调用 setupThreadDetailDownwardScroll() .这也不起作用。

这里有正确的程序吗?

【问题讨论】:

  • 我还有一个额外的问题是IASSpinnerExtension 不能使用这个特定的分页,还有IASNoneLeftExtension - 在使用异步加载时,它们实际上都没有将任何元素插入到 DOM 中,但是当您转到同一事物的永久链接渲染时,他们会这样做,例如this

标签: jquery-ias


【解决方案1】:

您正在使用绑定到$(window) 的滚动事件的jQuery.ias(...)。在您的情况下,您可能希望绑定到溢出 div。因此,您应该像这样指定滚动容器:

$('#scrollContainer').ias(...)

编辑:

根据您的评论,我又看了一遍,可能已经找到了答案。当您调用 jQuery.ias({...}); 时,IAS 会设置并等待 $(document).ready 初始化。您说您想在 setupThreadDetailDownwardScroll 函数中初始化 IAS。您可以尝试使用以下代码自己初始化 IAS

 iasDetail.initialize();

【讨论】:

  • 我实际上已经在为页面左侧的第一个滚动面板执行类似于$('#scrollContainer').ias(...) 的操作,但是我可以在第二个(右手)绑定到 $(window) ) 的一部分,因为它无论如何都是随着窗口滚动的。我确实尝试过使用带有溢出 div 的第二个绑定,但也无法使其工作(以与上述相同的方式失败)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-18
  • 2012-05-12
  • 2014-04-28
  • 1970-01-01
  • 2015-04-28
相关资源
最近更新 更多