2

我的页面中有一些 jQuery 不断给出错误:

SyntaxError: missing : after property id

在这段代码中。

    $(document).scroll(function(){
        var t1 = $("#main-page").offset().top;
        if($(this).scrollTop() >= t1) {   
        $('#menu-item-70').css({"background-color: #fff"});
        }
    });

Firebug 说它在这条线上:$('#menu-item-70').css({"background-color: #fff"});

我似乎无法找到为什么它会给出这个错误。

有任何想法吗?

谢谢!

4

3 回答 3

6

改变:

$('#menu-item-70').css({"background-color: #fff"});

到:

$('#menu-item-70').css({"background-color": "#fff"});

另请注意,滚动事件被多次触发,我建议:

.white-bg { background-color: #fff }
var timeout = '',
    offset = $("#main-page").offset().top,
    $elem = $('#menu-item-70');

$(window).scroll(function(){
    clearTimeout(timeout);
    var top = $(this).scrollTop();
    timeout = setTimout(function(){
       $elem.toggleClass('white-bg', top >= offset);
    }, 100);
});
于 2013-04-10T21:50:11.593 回答
1

您错误地完成了 CSS 对象:

    $('#menu-item-70').css({"background-color": "#fff"});
于 2013-04-10T21:50:06.057 回答
1

您使用 css() 错误。

尝试改变:

$('#menu-item-70').css({"background-color: #fff"});

到:

$('#menu-item-70').css({"background-color": "#fff"});

所以你的完整代码如下所示:

 $(document).scroll(function(){
     var t1 = $("#main-page").offset().top;
     if($(this).scrollTop() >= t1) {   
        $('#menu-item-70').css({"background-color": "#fff"});
     }
 });
于 2013-04-10T21:50:09.667 回答