2012-12-06 47 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的位置到相對位置,一旦達到了圖片的末端,我終於可以將它放到生產站點上 –