固定了某个滚动后其他div中的div



我在另一个div中有一个div,如下所示:

<div class="parent">
<div class="child">Text</div>
</div>

我想通过jQuery,使固定,只要它位于其父级内部即可。。我试过这样的东西:

$(document).scroll(function() {
var y = $(document).scrollTop();
if(y >= $(".child").offset().top)  {
        $(".child").css("position", "fixed");
    } else {
        $(".child").css("position", "relative");
    }
});

但它(显然)只是让它变得固定了。我想把它修好,直到它"碰到"他父母的底线。我该怎么办?

编辑:Fiddle:http://jsfiddle.net/8T7Hr/

var parent_top = $(".parent").offset().top;
var parent_bottom = $(".parent").offset().top + $(".parent").height() - $(".child").height();
$(document).scroll(function() {
  var y = $(document).scrollTop();
  if(y >= parent_top && y <= parent_bottom)  {
    $(".child").css({"position": "fixed", "top" : "0px"});
  } else {
    $(".child").css("position", "relative");
  }
});

FIDDLE

相关内容

  • 没有找到相关文章

最新更新