2012-03-31 60 views
2

我試圖使用Waypoints做一個非常簡單的滾動效果,但出於某種原因,我只是根本無法讓Waypoint工作。Waypoints始終給出「未定義不是函數/對象」錯誤

正確加載jQuery(1.7.1),並在Waypoint之前加載。頁面上還有其他的jQuery功能,它們都可以毫無問題地工作。例如:

$(document).ready(function() { 
    $(".form label").addClass("column"); 
} 

航點(waypoints.min.js,版本1.1.6)也被加載正確,jQuery的後。

但無論我做什麼,我似乎都無法在Waypoint中得到任何東西以在除Firefox之外的任何內容中做出反應。

如果我直接調用waypoint()一個元素上,而不需檢查的document完成加載,那麼我沒有錯誤,但沒有反應,或者:

$('.wrapper').waypoint(function() { 
    alert('You have scrolled to an entry.'); 
}); 

- 沒有給出控制檯錯誤或警告,但不會提醒任何事情(因爲我不希望這樣做,因爲在創建.wrapper div之前放置腳本)。

如果我等待document來完成,像這樣:

$(document).ready(function() { 
    $('.wrapper').waypoint(function() { 
    alert('You have scrolled to an entry.'); 
    }); 
}); 

- 那麼它似乎在Firefox的工作,但不是在鉻,歌劇或Safari。 Safari瀏覽器的Web控制檯告訴我

TypeError: 'undefined' is not a function (evaluating
'$('.wrapper').waypoint(function() { alert('You have scrolled to an entry.'); })')

- 我不知道爲什麼undefined是現在突然不是一個函數(或爲什麼功能現在突然被「設置」,以undefined,無論是尋找一個比較正確的做法在它)... ...

我在任何情況下都沒有與jQuery,或一般的JavaScript,所以我真的不知道在哪裏尋找什麼可能與它衝突,或爲什麼它這樣對我。

幫助?

回答

4

事實證明,無論出於何種原因,在某個時候,我已經直接從Google的服務器中添加了第二次jQuery導入,並將第二次調用放置在一個不可見的,未知的文件中。

一旦我擺脫了這一點,Waypoints按預期工作(或多或少)。

+0

感謝您節省了許多時間。在Jquery中可能會出現奇怪的行爲,只會讓它失望 – 2013-08-13 16:21:14

1

我是這個開發線索的新手,我注意到我做錯了Jquery插件的是我在head標籤中使用腳本的順序。 Ounce我把我的Jquery腳本放在第一位,然後我的未定義錯誤在Google Chrome控制檯中消失了。

相關問題