2

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

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

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

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

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

5 回答 5

4

尝试

var n = $(document).scrollTop();
于 2013-04-02T11:32:34.837 回答
3

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

尝试:

var n = $(document).scrollTop();
于 2013-04-02T11:32:46.323 回答
1

试试这个

var n = $(document).scrollTop();
于 2013-04-02T11:33:11.023 回答
1

你可能想写

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

代替

var n = $(document).scrollTop;

$(document).scrollTop返回一个function实现$.scrollTop()

可能是笔误?

于 2013-04-02T11:35:03.543 回答
1

您有拼写错误要纠正,您必须使用

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

您可以在 IE 中使用较旧的文档类型

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

得到 n = 0

于 2013-04-02T11:36:39.193 回答