2012-12-06 32 views
1

jQuery的scrollToFixed当它到达页面的最顶端停止的最顶端,它只是出现在被假设是固定的,在最高层的div顶部。jQuery的scrollToFixed停止,当它到达页面

Here is what I have so far

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下来T他的屏幕,I got the idea here

当你滚动页面,右边的div应该成为固定,直到达到左div的结束,但由于某些原因,正确的div变成固定在页面的最顶端,我顶(广告和导航)div设置为一直固定。

回答

0

如果我理解你正确地则发生了什么预期。的jQuery插件(scrollToFixed)不知道,你要定位另一个所以你将不得不自己做下的元素。

最简单的方法是给#浮子63(IMO不是一个很好的ID)的边距,等于应该位于下方的元件的高度。 70px似乎工作正常。

这里的问题是,它会具有70像素的margin-top,即使它不是“固定”。看起来,插件在固定时向元素添加了任何类,但如果您了解jQuery,该插件应该很容易添加。

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

+0

我使用WordPress,每篇文章都有唯一的ID,那么因此浮#-63。我不太了解jquery,花了将近5个小时才得到我现在的东西。我该在哪里放置#float-63.scroll-to-fixed {margin-top:70px}。我将继续使用Google,并通过jquery api。如果我找到一个 –

+0

,我会在这里发布答案,我找到了答案,谢谢你指出我正确的方向。现在我只需要找到一种方法来设置固定div的位置到相对位置,一旦达到了图片的末端,我终于可以将它放到生产站点上 –