2015-02-12 28 views
1

我想在滾動時添加我的導航欄,即使在調整窗口大小時它也會達到頂部。在調整大小時不會重新計算添加位置

即使我將其設置爲重新計算值時,觸發的位置也不會更新,因爲我在$(window).resize()。怎麼了?

$(document).ready -> 
    $(window).resize -> 

    windowHeight = $(window).height() 
    navHeight = $('#navbar-affixable-wrapper > #navbar.affixable').outerHeight() 
    windowMinusNavHeight = windowHeight - navHeight 

    $('#navbar-affixable-wrapper > #navbar.affixable').affix 
     offset: { top: windowMinusNavHeight } 

或者在javascript:

$(document).ready(function() { 
    return $(window).resize(function() { 
    var navHeight, windowHeight, windowMinusNavHeight; 
    windowHeight = $(window).height(); 
    navHeight = $('#navbar-affixable-wrapper > #navbar.affixable').outerHeight(); 
    windowMinusNavHeight = windowHeight - navHeight; 

    return $('#navbar-affixable-wrapper > #navbar.affixable').affix({ 
     offset: { 
     top: windowMinusNavHeight 
     } 
    }); 
    }); 
}); 

回答

0

可以返回偏移最高值的函數嗎?

例如:

$(function(){ 

    var $window = $(window); 
    var $navbar = $('#navbar-affixable-wrapper > #navbar.affixable'); 

    $navbar.affix({ 
     offset: { 
     top: function(){ 
      // Calculate offset top value 
      return $window.height() - $navbar.outerHeight(true); // I always pass true in there so margin is taken into consideration. 
     } 
     } 
    }) 
}); 

可以檢出引導網站上的affix documentation

+1

問題在於調整大小。 我重新調整resize函數中的值,但似乎我所引用的仍然是舊高速緩存dom與舊高度。我將如何「刷新」dom,以便準確地反映調整大小時的新高度?如果可以這樣做,那麼我不明白爲什麼在resize函數中設置詞綴的邏輯不會導致直覺行爲。 – ahnbizcad 2015-02-28 08:16:34

+0

你有jsfiddle嗎? – 2015-03-02 09:47:21

+0

我有一個網站,但也許你有一個小提琴,這可以正確調整大小?在我的大小調整時,我無法獲得頂部偏移值以正確更新。 – ahnbizcad 2015-03-05 00:44:27

相關問題