两个div上的jquery一个接一个地开火

时间:2014-03-12 08:24:06

标签: jquery

我正在尝试这样的事情,但它似乎无法发挥作用。

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

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

所以hide被添加到popup和popup_2

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


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

添加此隐藏类时

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

我希望这个叠加显示:无..

逻辑

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

请妥善解决此问题

7 个答案:

答案 0 :(得分:1)

您可以使用.hasClass()

  

确定是否为任何匹配的元素分配了给定的元素   类。

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

另请注意,<div>默认为display: block。你不再需要为它设置那种风格了。

答案 1 :(得分:0)

使用hasClass jquery:

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

答案 2 :(得分: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

希望它有所帮助。

答案 3 :(得分: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;
    });

});

答案 4 :(得分: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;

})

工作fiddle

答案 5 :(得分:0)

试试这个:

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

答案 6 :(得分:0)

使用

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