【发布时间】:2014-08-25 23:10:50
【问题描述】:
我想像这样增加计数器:
$(document).ready(function () {
var nr = 1;
$(window).scroll(function (nr) {
alert(nr);
nr++;
});
});
我在上面试过了,但不起作用!
为什么nr 返回NaN 而不是1?
【问题讨论】:
我想像这样增加计数器:
$(document).ready(function () {
var nr = 1;
$(window).scroll(function (nr) {
alert(nr);
nr++;
});
});
我在上面试过了,但不起作用!
为什么nr 返回NaN 而不是1?
【问题讨论】:
这是因为滚动事件处理函数外部的nr 与事件处理函数内部的变量不同。
您已将nr 作为参数添加到事件处理程序。这意味着它是函数内部的一个局部变量,它会在外部范围内隐藏变量nr。
如果去掉参数,事件处理器里面的变量和外面的一样:
$(document).ready(function () {
var nr = 1;
$(window).scroll(function () {
alert(nr);
nr++;
});
});
【讨论】:
这样做
$(document).ready(function () {
var nr = 1;
$(window).scroll(function () {
alert(nr);
nr++;
});
});
【讨论】: