Я пытаюсь что-то вроде этого, но, похоже, это не работает.
$(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
}
любезно исправить эту проблему
Вы можете использовать .hasClass():
Определите, назначен ли какой-либо из сопоставленных элементов данному классу.
if($('.popup').hasClass('hide') && $('.popup_2').hasClass('hide')) {
$('#overlay').hide();
}
Кроме того, обратите внимание, что <div>
display: block
по умолчанию. Вам больше не нужно устанавливать этот стиль для него.
$('.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;
})
рабочая скрипка
использовать hasClass
jquery:
if($(".popup").hasClass('hide') && $(".popup_2").hasClass('hide') )
{
$("#overlay").addClass('hide');
}
Используйте .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;
});
});
Попробуй это:
if(!$('.popup').is(":visible") && !$('.popup_2').is(":visible")) {
$('#overlay').hide();
}
использование
if(!$('.popup').is(":visible") && !$('.popup_2').is(":visible")) { $('#overlay').hide(); }
Попробуй это:
$(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
когда оба всплывающих окна будут скрыты.
Надеюсь, поможет.
hasClass
jquery