Как написать - если виден селектор? - PullRequest
0 голосов
/ 24 сентября 2011

Не уверен, как написать это;

Если .sub1 виден, .homepage fadeTo .25

Sub1 имеет FadeIn, и я хочу, чтобы непрозрачность домашней страницы упала до 0,25, еслиsub1 открыт?

У меня есть это;

 $("#cat").click(function(){
 if ($('.sub1').is(':visible') ) {
 $(".homepage").fadeTo(500, .25);}

 else {
 $(".homepage").fadeTo(500, 1);

 }

Фактический веб-сайт, который я делаю>> 1010 * Макет веб-сайта > Нажатие категорий исчезает в подменю и делает прозрачность домашней страницы25%, при повторном нажатии на категории, исчезает подменю, делая домашнюю страницу 100% ..... Но, нажимая на категории> Мода> Мужская мода> Smart, появляется раздел "Mens Smart Fashion div", но при нажатии на категории снова исчезает мода Mens Smart.и возвращает .sub1 обратно, но .homepage составляет 100%, а не 25%, когда .sub1 открыт

1 Ответ

0 голосов
/ 24 сентября 2011

Вы можете отфильтровать видимое .sub1 и проверить длину, это может быть не так здорово, если есть несколько .sub1's, возможно, добавьте немного специфичности к селектору.

Этот метод отфильтруетэлементы с css visibility:hidden или opacity: 0 для первого .sub1 (':eq(0)').Если длина равна 0, условие вернет false.

if($('.sub1:eq(0):visible').length) {
    //.homepage fade to .25
}

Пересмотрено:

$("#cat").click(function(){
    if ($('.sub1').css('opacity') == .25 ) {  

        $('.homepage').fadeTo(500, 1);

    } else {

        $('.homepage').fadeTo(500, .25); 
    }
});

Я думаю, что причина, по которой оно не исчезнет, ​​заключается в том, что ваше условие проверяет непрозрачность: 0, которого вы никогда не достигли при исчезновении до .25.Вы должны установить условие для проверки числа .25, чтобы избежать проверки нескольких строк, таких как '.25' или '0.25'.Отчеты Firefox '0.25'.

...