我没有理解为什么这个JS / JQuery IF语句不能正常工作,因为我期待它

时间:2013-04-02 11:30:36

标签: javascript jquery

因为我对这些语言很陌生,所以请有点同情。 http://jsfiddle.net/3vyJR/

我想要实现的目标非常简单。 我正在尝试获取Jquerys scrollTop方法的值并将其存储在变量中。 然后使用JS IF语句检查变量的值,如果小于4,则将背景设为绿色,否则将其变为蓝色。

在下面的代码中,我正在使用alert来告诉我页面加载时scrolltop的值,它告诉我它是0,所以我希望页面是绿色的,但它不是' t,它的蓝色。

有人能告诉我代码有什么问题吗?

$(document).ready(function(){ 
    var n = $(document).scrollTop;
    alert($(document).scrollTop());
    if (n <= 4) {
        $("body").css("background", "green");
    } 
    else {
        $("body").css("background", "blue");            
    }
 });

5 个答案:

答案 0 :(得分:4)

尝试

var n = $(document).scrollTop();

答案 1 :(得分:3)

n未设置为数字,因为您在scrollTop之后缺少();

尝试:

var n = $(document).scrollTop();

答案 2 :(得分:1)

试试这个

var n = $(document).scrollTop();

答案 3 :(得分:1)

你可能想写

var n = $(document).scrollTop();

而不是

var n = $(document).scrollTop;

$(document).scrollTop会返回function <{1}}

的实现

可能是拼写错误?

答案 4 :(得分:1)

你输入错误是为了纠正你必须使用

var n = $(document).scrollTop();

您可以在IE中使用较旧的doctype

var n = (document.documentElement && document.documentElement.scrollTop) || 
          document.body.scrollTop;

得到n = 0