-1

我已经改编了某人的示例(来自我之前提出的 Stack Overflow 问题)来做我想做的事,但它似乎没有奏效。

如果有帮助,那么这里是该问题的链接

不起作用的功能:

$(window).scroll(function(){
    if ($('.orange').isOnScreen() === 'true'); {
        $('.box').css('background', 'red');
    }
});

这是jsfiddle

当橙色方块进入屏幕时,其余方块应变为红色,然后当橙色方块不在屏幕上时,红色方块需要再次变为蓝色。

4

2 回答 2

3

您的语法存在一些问题,但这虽然未优化,但应该可以

$(window).scroll(function(){
    //isOnScreen returns a boolean, loose comparison will do
    if ($('.orange').isOnScreen()){
        $('.box').css('background', 'red');
    } else {
        //you need to revert back when isOnScreen returns false
        $('.box').css('background', 'blue');
    }
});
于 2013-05-08T21:02:27.337 回答
0

你在逻辑和语法上有一些错误。尝试这个:

//This is the function that is playing up:
$(window).scroll(function(){
    if ($('.orange').isOnScreen()) {
        $('.box').css('background', 'red');
    }
    else {
        $('.box').css('background', 'blue');
    }
});

更新 JSFiddle:http: //jsfiddle.net/LuYD2/8/

于 2013-05-08T21:06:47.683 回答