jQuery条件之间的冲突

时间:2015-10-13 21:39:50

标签: jquery conditional-statements

我有这段代码

    if (winScroll < min_scroll){
         $("header").hide().removeClass("header-vu");

    } else  if (min_scroll < winScroll < max_scroll){
         $("header").show();                  
    } else {
         $("header").addClass("header-vu");                 
    }

我不明白为什么如果存在第二个(否则为if),第三个条件(否则)不会被表达。

有没有人有想法?

2 个答案:

答案 0 :(得分:0)

问题(至少, a 问题)在这里:

} else  if (min_scroll < winScroll < max_scroll){

归结为

} else  if ((min_scroll < winScroll) < max_scroll){
// Note     ^                      ^

内部(min_scroll < winScroll)将被强制转移到0(如果它是假的)或1(如果它是真的)。所以你得到:

} else  if (0 < max_scroll){

} else  if (1 < max_scroll){

你可能意味着:

} else  if (min_scroll < winScroll && winScroll < max_scroll){
//                                ^^^^^^^^^^^^^

答案 1 :(得分:0)

您不能在两个操作中使用相同的操作数,您需要执行两个单独的操作:

} else  if (min_scroll < winScroll && winScroll < max_scroll) {