如何使用javascript或运算符?
我一直在为这个“简单”的javascript代码片段伤脑筋:如何使用javascript或运算符?,javascript,jquery,operators,Javascript,Jquery,Operators,我一直在为这个“简单”的javascript代码片段伤脑筋: $("#hitbox").mouseleave(function() { if($("#sub-wrapper-1").height() < 179 || $("#sub-wrapper-2").height() < 179 ) { $("#hitbox").animate({ "height" : '0px' }, 800), } else { $("#hitbox").stop();
$("#hitbox").mouseleave(function() {
if($("#sub-wrapper-1").height() < 179 || $("#sub-wrapper-2").height() < 179 ) {
$("#hitbox").animate({ "height" : '0px' }, 800),
} else {
$("#hitbox").stop();
}
});
$(“#hitbox”).mouseleave(函数(){
如果($(“#子包装-1”).height()<179 |$(“#子包装-2”).height()<179{
$(“#hitbox”).animate({“height”:“0px”},800),
}否则{
$(“#hitbox”).stop();
}
});
你们能告诉我如何在javascript中使用或操作符吗?上面的代码没有抛出任何错误,但它似乎以和运算符的形式运行函数。您的OR运算符是正确的(事实上,在您的示例中是简单的javascript!)
看来你这里有个错误
$("#hitbox").animate({ "height" : '0px' },800),
修正为
$("#hitbox").animate({ height : '0px' },800);
我发现有时候JS操作符(在本例中为| | or)不比较整个子句,只比较子句开头的下一项。您可能想尝试将您的条款包装成这样:
如果($(“#sub-wrapper-1”).height()<179)|($(“#sub-wrapper-2”).height()<179))你是说|
?不,这确实是快捷方式或运算符。首先,我要调试height()结果,例如,首先将它们读入变量中,这样您就可以在调试器中检查它们,或者将它们警告出来。这不是jquery,也不是您要查找的javascriptOR@Rup-捷径。。。路有多远?:)@尼克:哦,是的,通常是“短路”。对不起,请关闭请求,否则将“回答”标记为“良好”。感谢您的快速响应!上面的代码是一个更大的jQuery脚本的一部分,但您可以放心,它是纯javascript。感谢您指出“高度”问题,完全忽略了这一点!再次感谢!我不明白。错误(和修复)在哪里?编辑:可能是结尾的逗号,但如果它起到了作用,我会感到惊讶(也许在IE中除外)。呵呵,它仍然没有做我想做的事情,但至少现在我知道不是OR运算符在监听它!看起来后面的逗号在不同的浏览器中有不同的效果。起初我以为你说的是“高度”周围的引号,这没有任何区别。是的,对不起,我把这两个问题放在一行!尽管如此,如果代码有缺陷,它不应该出现在您发布的行中