1

jquery scrollToFixed 在到达页面的最顶部时停止,它只出现在应该固定在最顶部的 div 的顶部。

这是我到目前为止所拥有的

var arr = new Array();
$('div[id^="post"]').each(function()
{
   // do something with it...
    var id = $(this).attr("id").slice(5);
    //alert(id);

    arr.push(id);

   $(this).css('background-color', 'green');
});

     for (i = 0; i < $('div[id^="post"]').length; i++) {
      //alert(arr[i+1]);

            $('#float-'+arr[i]).scrollToFixed({
        limit: $('#post-'+arr[i+1]).offset().top - $('#float-'+arr[i]).height()-220
    });
    }​

我正在使用 jquery scrollToFixed 插件。

我试图在 9gag.com 上实现相同的效果,在屏幕上向下滚动多个侧边栏 div,我得到了这个想法

当您滚动页面时,右侧 div 应该固定,直到到达左侧 div 的末尾,但由于某种原因,右侧 div 固定在页面的最顶部,我有顶部(广告和导航)div一直设置为固定。

4

1 回答 1

0

如果我理解正确,那么会发生什么。jQuery 插件 (scrollToFixed) 不知道您希望元素位于另一个元素之下,因此您必须自己做。

最简单的方法是给#float-63(imo不是一个很好的ID)一个margin-top,它等于它应该位于下面的元素的高度。70px 似乎工作正常。

这样做的问题是,即使它没有“固定”,它也会有 70px 的 margin-top。插件在修复时似乎没有向元素添加任何类型的类,但如果你知道 jQuery,那应该很容易添加。

然后你可以简单地做#float-63.scroll-to-fixed {margin-top: 70px}

于 2012-12-06T01:43:58.387 回答