Javascript jQuery函数问题

Javascript jQuery函数问题,javascript,jquery,html,css,viewport,Javascript,Jquery,Html,Css,Viewport,我已经修改了一些人的例子(来自我之前提出的堆栈溢出问题)来做我想做的事情,但它似乎不起作用 不起作用的函数: $(window).scroll(function(){ if ($('.orange').isOnScreen() === 'true'); { $('.box').css('background', 'red'); } }); 当橙色方块进入屏幕时,其余方块应变为红色,然后当橙色方块不在屏幕上时,红色方块需要再次变为蓝色。您的语法中有一些问题,但

我已经修改了一些人的例子(来自我之前提出的堆栈溢出问题)来做我想做的事情,但它似乎不起作用

不起作用的函数:

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


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

您的语法中有一些问题,但是


您在逻辑和语法方面有一些错误。试试这个:

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

更新的JSFIDLE:

true==='true'
将为false,因为
true
是布尔值,
'true'
是字符串。将'true'更改为true会使正方形在橙色正方形出现在视口之前变为红色。您有一个
{}
块之前。在修复了大量语法错误后,它可以工作@CaedanLavender当然没有,你的代码中没有任何逻辑可以做到这一点。那绝对是完美的,非常感谢,我想可能会有语法错误,有这么多的括号和分号,我对这些东西真的很陌生。@CaedanLavender语法错误可以通过控制台捕获。还有静态代码分析工具,例如可能有助于修复这些错误。@Joseph the Dreamer您不熟悉任何可供下载的免费脱机JavaScript/J-query控制台,是吗?可以还可以单击该小提琴中的“jshint”,它将标记语法错误。
//This is the function that is playing up:
$(window).scroll(function(){
    if ($('.orange').isOnScreen()) {
        $('.box').css('background', 'red');
    }
    else {
        $('.box').css('background', 'blue');
    }
});