在使用JQuery Waypoints的帖子中,如何使航点只能“活跃”?

时间:2015-01-09 02:55:34

标签: javascript jquery html css jquery-waypoints

这可能有点难以解释,所以请耐心等待。

我有很多帖子。我有一个使用Waypoints的系统,一旦你通过标题,它就向右滑动并变得固定,以显示"你现在正在阅读Lorum Ipsum"。

每个标题只有一个类,而不是一个ID,因为它不是静态网页,我必须使用该类进行编码。我通过使用$('.title').each(function(){...并使用this关键字来引用每个标题来完成此操作。

当我在帖子结束时尝试让标题消失,而另一个帖子低于它时,我的问题就出现了。当达到.post-footer时,我需要淡出标题。

我想到了一种方法来制造一个"假的"每个标题的唯一ID,因为标题的父级(.post)具有CMS生成的ID。我可以做这个"假的"使用$(this.element).parent('.post').attr('id')并向其添加> .title的ID,我认为可能有一种方法可以在问题的解决方案中使用此ID。我弄乱了它,但我无法正常工作。

这是我到目前为止在修改标题方面取得的成就:

$('.title').each(function() {
    //creating the waypoint
  $(this).waypoint(function(direction) {
      //testing fake ID
      //var titleID = $(this.element).parent('.post').attr('id') + ' > .title';
      //console.log(titleID);
      //if below waypoint, do animation
      if (direction === "down"){
          //fix the title
          $(this.element).addClass('titleFixed');
          //slide right
          $(this.element).animate({left:'10%'},250,function(){
              //slide title decoration right
              $(this).next().animate({left:'0'},50);
          });
          //if above waypoint, undo animation
      }else{
          //unfix the title
          $(this.element).removeClass('titleFixed');
          //animate left
          $(this.element).animate({left:'-3.5%'},240,function(){
              //animate title direction left
            $(this).next().animate({left:'-3.5%'},150);
          });
      }
  });
});

TL; DR:如何在帖子中保留帖子的标题,在帖子离开后消失,然后在下一个帖子的标题中替换为下一篇文章? (依此类推)

非常感谢任何帮助。

编辑:所以我想到了一种可行的方法,它有点奇怪,而且我不完全确定如何实现它,但如果我可以创建一个带有对象或数组的系统怎么办?到"存储"通过时,每个标题的假身份证?然后它可以有一个布尔附加到每个ID,无论它是"高于"它,或者"低于"它。然后当最后一个在下面,并且低于上面的任何值时,我可以使标题"活跃"。只是一个想法。我稍后会把它弄得乱七八糟,现在不能正常工作。

0 个答案:

没有答案