JQuery на обоих div стрельба один за другим

0

Я пытаюсь что-то вроде этого, но, похоже, это не работает.

$(document).ready(function (e) {
    $('.close').click(function () {
        $('.popup').addClass('hide');
        return false;
    })

    $('.close1').click(function () {
        $('.popup_2').addClass('hide');
        return false;
    })
});

поэтому скрыть добавляется всплывающее окно и popup_2

<div class="popup hide" style="display: block;">


<div class="popup_2 hide" style="display: block;">

когда этот класс hide добавлен

<div id="overlay" style="display: block;"></div>

Я хочу, чтобы этот оверлей отображался: none..

логика

if(.popup.hide)&&(.popup_2.hide)==true
{
    // overlay should go display:none
}

любезно исправить эту проблему

  • 1
    использовать hasClass jquery
Теги:

7 ответов

1

Вы можете использовать .hasClass():

Определите, назначен ли какой-либо из сопоставленных элементов данному классу.

if($('.popup').hasClass('hide') && $('.popup_2').hasClass('hide')) {
    $('#overlay').hide();
}

Кроме того, обратите внимание, что <div> display: block по умолчанию. Вам больше не нужно устанавливать этот стиль для него.

0
$('.close').click(function(){

    $('.popup').addClass('hide');  
    if( $('.popup_2').hasClass('hide') ){
      $('#overlay').hide();
    }
    return false;

})

$('.close1').click(function(){

    $('.popup_2').addClass('hide'); 
    if( $('.popup').hasClass('hide') ){
      $('#overlay').hide();
    }
    return false;

})

рабочая скрипка

0

использовать hasClass jquery:

 if($(".popup").hasClass('hide') && $(".popup_2").hasClass('hide') )
{
    $("#overlay").addClass('hide');
}
0

Используйте .hasClass()

Определите, назначен ли какой-либо из сопоставленных элементов данному классу.

$(document).ready(function (e) {
    function hide_overlay() {
        if ($('.popup').hasClass('hide') && $('.popup_2').hasClass('hide')) { //check condition here 
            $('#overlay').hide(); //hide when condition is true
        }
    }
    $('.close').click(function () {
        $('.popup').addClass('hide');
        hide_overlay(); //call function 
        return false;
    })

    $('.close1').click(function () {
        $('.popup_2').addClass('hide');
        hide_overlay();//call function 
        return false;
    });

});
0

Попробуй это:

if(!$('.popup').is(":visible") && !$('.popup_2').is(":visible")) {
    $('#overlay').hide();
}
0

использование

if(!$('.popup').is(":visible") && !$('.popup_2').is(":visible")) { $('#overlay').hide(); }

0

Попробуй это:

$(document).ready(function (e) {
    $('.close').click(function () {
        $('.popup').addClass('hide');
        if($('.popup_2').hasClass('hide')) {
            $('#overlay').hide();
        }

        return false;
    })

    $('.close1').click(function () {
        $('.popup_2').addClass('hide');
        if($('.popup').hasClass('hide')) {
            $('#overlay').hide();
        }
        return false;
    })
});

Это скроет overlay когда оба всплывающих окна будут скрыты.

Надеюсь, поможет.

  • 0
    вау ваш код работал спасибо большое
  • 0
    Рад, что я мог помочь @TekexploreThiyagu :) счастливого кодирования ..
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню