JQuery检查是否显示Div

时间:2010-07-19 16:17:51

标签: jquery css html

这是我最终要努力实现的目标:

//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?

4 个答案:

答案 0 :(得分:96)

if ( $(this).is(':visible') )应该适用于这个相对简单的节目/隐藏。

答案 1 :(得分:17)

有时需要检查div是阻止还是无阻塞。我们可以很容易地做到这一点。这是简单的代码。这里id = "test" - >如果您使用class = "test"进行测试,则需要更新代码 要检查阻止或可见,请使用此选项testid

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')) {}

相同的其他

如果您要检查无或隐藏,请在selectorid

时使用此代码
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")检查元素是否可见