jQuery不知道函数scrollTop

问题描述:

我想创建一个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

可能你已经在你的家庭环境中$变量碰撞被设置为两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

确保您使用的是最新版本的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