2014-01-31 65 views
10

Firefox調試器顯示的是一個jQuery函數的TypeError,用於在用戶同時滾動和更新類時將導航條粘貼到頁面的頂部。TypeError jQuery offset()。top未定義

該功能如下。

$(window).scroll(function() { 
    if ($(".navbar").offset().top>30) { 
     $(".navbar-fixed-top").addClass("sticky"); 
    } 
    else { 
     $(".navbar-fixed-top").removeClass("sticky"); 
    } 
}); 

由此產生的錯誤是這樣的。

Timestamp: 31/01/2014 10:01:04

Error: TypeError: $(...).offset(...) is undefined

我已經關注過類似的例子,但無法將結果轉化爲修復。任何幫助將不勝感激。

+0

它是你得到的偏移顯示的元素? – MarcoL

+1

相關的HTML標記在哪裏? – Sparky

回答

21

這是因爲你的$(「。navbar」)找不到。在獲得偏移量之前檢查元素是否存在。

if ($(".navbar").length) {...} 
+0

或者,如果對象不可見,則返回undefined – 2017-03-31 13:19:29

+0

嘗試使用ID代替。 – Josh

相關問題