【问题标题】:Working with Animsition and Infinite Scroll js使用 Animsition 和 Infinite Scroll js
【发布时间】:2015-04-24 23:26:13
【问题描述】:

我正在使用无限滚动 js(行为设置为 twitter)在索引页面上加载新内容。我担心的是,如何在通过无限滚动加载的新帖子上重新启动animistion?我已经详细描述了所遵循的页面结构,如果有人可以分享相同的解决方案,我将不胜感激。

<!DOCTYPE html>
 <html lang="en">
  <head></head>
  <body>
   <div class="animsition">
    <header class="header"></header>
    <main class="main">
     <section class="main-body">
      <div id="infinite-scroll">
       <article class="post">
        <div class="post-body">
         <h2 class="post-title">
          <a href="" class="nav-link" title=""></a>
         <h2>
        </div>
       </article>
      </div>
      <div class="pagination">
       <a href="" class="next">Load Older Items</a>
      </div>
     </section>
    </main>
   <footer class="footer"></footer>  
  </div>
 </body>
</html>

这里是 JS,

$(".animsition").animsition({
 inClass : 'fade-in',
 outClass : 'fade-out',
 linkElement : '.nav-link',
 overlay : false
});

$(function() {
 $("#infinite-scroll").infinitescroll({ 
  navSelector: ".pagination",
  nextSelector: ".next",
  itemSelector: ".post",
  behavior: "twitter"
 },
function(newElements){

});

【问题讨论】:

    标签: javascript infinite-scroll animsition jquery-infinite-scroll


    【解决方案1】:

    我遇到了同样的问题(动画 + 无限滚动),在 SO 或其他任何地方都找不到好的答案,所以我在 animsition.js source 上进行了一些小手术,结果很好。

    如果您查看第 66 行(在当前状态下),您会看到 animsition 绑定到链接点击和插入动画的位置。

    $(options.linkElement).on("click." + namespace, function(event) {
      ...
    }
    

    如果我们改为使用一点Javascript event delegation,那么我们可以有效地说“绑定到现在和将来页面上的所有锚点/链接”。所以像......

    $("body").on("click." + namespace, options.linkElement, function(event) {
      ...        
    });
    

    这只是我现在的一个技巧,但我稍后会回去(当我不在项目的枪下时)做一个适当的分叉、测试、拉取请求等,并尝试把它放到主项目中。希望这对您和其他任何人现在都有效。

    【讨论】:

      猜你喜欢
      • 2015-12-14
      • 2012-12-03
      • 1970-01-01
      • 1970-01-01
      • 2022-12-14
      • 2017-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多