2015-10-13 4 views
1

У меня есть этот кодКонфликт между условиями JQuery

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

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

Я не понимаю, почему третье условие (еще) не выражен, если второй (еще если) присутствует.

У кого-нибудь есть идеи?

+0

min_scroll Diptox

ответ

0

Проблема (по крайней мере, проблема) здесь:

} 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){ 
//        ^^^^^^^^^^^^^ 
0

Вы не можете использовать один и тот же операнд в две операции, вам нужно сделать две отдельные операции:

} else if (min_scroll < winScroll && winScroll < max_scroll) { 
Смежные вопросы