To powinno być takie proste, ale nie działa dla mnie. Chcę powiedzieć:Jquery "jeśli to i jeśli to", zrób to
Jeśli to nie mają „prąd” Klasa i jeśli klasa ciało nie równa się „do domu”, to zrobić ....
Oto co usiłuję (między innymi) bezskutecznie. Tylko pierwsze prace warunkowe.
$(".nav1 > ul > li").mouseleave(function() {
if ((!$(this).hasClass("current")) || (!$(body).hasClass("home")) ){
$(this).find(".nav-overlay").show();
}
});
Co robię źle? Dziękuję Ci!
UPDATE dla jasności:
Chcę tylko pokazać ".nav-overlay", gdy spełnione są następujące warunki:
- Nie jesteś na stronie głównej (body class = "Home") I
- Klasa ".nav1> ul> li" nie równa się "prąd"
'' || oznacza "lub". '&&' oznacza "i". –
Mówisz "klasa nie równa się"; masz na myśli całą wartość atrybutu klasy? Spowoduje to przetestowanie dla 1 określonej klasy wartości w zbiorze klas. – asawyer
Z jakiegoś powodu && działa tylko na stronie głównej. Tak więc, gdy klasa body = "home", poprawnie ignoruje funkcję. Jednak na stronie wewnętrznej, gdy klasa body = "anythingelse" i klasa li = "current" - wtedy nie ignoruje funkcji. – LBF