这是我最终要努力实现的目标:
//When the user clicks the liveshow button this happens
$(".liveshow-button").live('click', function() {
if ($(".liveshowDiv2").css('display') == 'none') {
$(".liveshowDiv2").fadeOut(ifadeOutSpeed, function() {
$('#wrapper-div').animate({ height: $('.liveshowDiv1').height() + "px" }, iresizeSpeed, function() {
$('.liveshowDiv1').fadeIn(ifadeInSpeed, function() {
});
});
});
}
else {
alert('This never gets displayed');
$(".liveshowDiv1").slideUp('fast');
}
});
基本上我想在单击此按钮时在显示和隐藏的liveShowDiv1之间切换。但由于页面上的其他内容可以使liveShowDiv1隐藏,我不能只使用切换功能来执行此操作。我必须以某种方式检查是否正在显示liveShowDiv1。
未显示时:display = none
当显示时,显示不在样式标记中
如何在显示此div时告诉JQuery?
答案 0 :(得分:96)
if ( $(this).is(':visible') )
应该适用于这个相对简单的节目/隐藏。
答案 1 :(得分:17)
有时需要检查div是阻止还是无阻塞。我们可以很容易地做到这一点。这是简单的代码。这里id = "test"
- >如果您使用class = "test"
进行测试,则需要更新代码
要检查阻止或可见,请使用此选项test
为id
1. if ($('#test').is(':visible')) {}
2. if ($('#test').css('display') == 'block'){}
3. if ($('#test').not(':hidden')){}
如果你的选择器是class
那么
1. if ($('.test').is(':visible')) {}
或
1. if ($(your_element).is(':visible')) {}
相同的其他
如果您要检查无或隐藏,请在selector
为id
1. if ($('#test').not(':visible')){}
2. if (!$('#test').is(':visible')){}
3. if ($('#test').css('display') == 'none'){}
4. if ($('#test').is(':hidden')){}
如果您的选择器是类,则使用此
1. if ($('.test').not(':visible')){}
或
1. if ($(your_element).not(':visible')){}
希望它会帮助你
答案 2 :(得分:4)
你可以试试这个:
$(your_element).is(":visible")
实施例
if ($('#element_id').is(":visible") ) {
// do something
}
答案 3 :(得分:2)
您可以使用$(element).is(":visible")
检查元素是否可见