2011-03-21 55 views
2

我想創建一個div,它可以在y方向上滾動,但是在x方向上是固定的。 我已經得到了它的幫助,在這裏它的工作原理: http://jsfiddle.net/Q4dWz/jQuery不知道函數scrollTop

但不知何故,它不想在家裏工作。 我已經下載了最新的jQuery:

wget -O jquery-1.5.min.js http://code.jquery.com/jquery-1.5.1.min.js 

每次我打電話scrollTop的我把它說scrollTop的是不是一個函數:( http://gbimg.org/p.php?q=BRYaL 我不明白爲什麼它不是一個功能,我不不懂,爲什麼螢火蟲說,有關的jQuery 1.2.1(看照片) 這裏是代碼:

160 $(document).ready(function() { 
161  $(window).scroll(function(){ 
162   var $win = $(window); 
163   $('#zeit').css('top', 20 - $win.scrollTop()); 
164  }); 
165-238 some other functions 
238 }); 
+1

我沒有看到任何與你的代碼立即出錯的東西。你可以發佈另一個重現問題的jsfiddle嗎? – 2011-03-21 19:45:53

+1

你可以在頁面中顯示更多''(或者你在腳本中的任何地方)嗎?你可能在某個地方包含了非常古老的jQuery版本,並沒有注意到。 – Pointy 2011-03-21 20:00:12

+2

'scrollTop()'直到1.2.6才被添加到jQuery中,並且從圖像中看起來您仍在使用jQuery 1.2.1。 – scurker 2011-03-21 20:02:18

回答

0

可能你已經在你的家庭環境中$變量碰撞被設置爲兩jQuery的版本,因此var $win = $(window);$win設置爲jQuery 1.2.1對象,但沒有所需的scrollTop函數。如果你看看jQuery scrollTop page,你會發現scrollTop是在1.2.6版本中引入的。

+0

這是很受歡迎的,因爲我從來沒有安裝jQuery 1.2.1 – Mischka 2011-03-21 20:03:43

+0

@Mischka,你的腳本引用是什麼樣的? – jball 2011-03-21 20:15:11

+0

@Mischka查看使用螢火蟲爲頁面加載的腳本文件也是一個好主意。這會告訴你腳本的名字,你可能會從它的名字中找到不正確的腳本引用。 – jball 2011-03-21 20:21:01

-3

確保您使用的是最新版本的jQuery。
<script src = "http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js" type = text/javascript" ></script>

另外這是一個很好的做法,使用parseInt()我們做計算。

$('#zeit').css('top', parseInt(20-$win.scrollTop()));

+1

'scrollTop'總是返回一個數字,並且'-'總是JS中的算術運算符,所以我對調用參數'parseInt'的效用持懷疑態度。 – jball 2011-03-21 20:18:18

+0

我同意。在處理產生整數的變量或函數時,使用它是個好習慣。它還使得閱讀代碼變得更容易。 – Hussein 2011-03-21 20:37:30