.slideUp对元素应用display:none?

时间:2015-08-20 02:40:12

标签: javascript jquery

示例:

$('element').slideUp();

if('element').css('display')!='none'){
// do something
}

if条件返回true还是false?

2 个答案:

答案 0 :(得分:0)

因为slideUp是异步执行的,所以你需要检查完整回调中的条件 - 这实际上并不是必需的,因为当调用回调时,元素将被隐藏。

所以你可以在完成回调处理程序中的slideUp之后做你想做的事情而不检查条件

$('element').slideUp(function () {
    // if($(this).is(':visible'))
    if ($(this).css('display') != 'none') {//really not needed
        // do something
    }
});

另外,为了检查元素是否可见,您可以使用:visible选择器

答案 1 :(得分:0)

是的,你可以使用上述方法之一检查它是否隐藏,here是演示



var test = $('#test'),
    btnTest = $('#btnTest'),
    up = $('#up');


btnTest.click(function() {
    if(!$('#test').is(":visible")){
		alert('ok');
	}
});
    
up.click(function() {
    test.slideUp(1000, function() {
        alert('complete');
    });
});

#test {
    padding: 0.5em;
    margin: 1.5em;
    background: #fafafa;
    border: thin solid gray;
    line-height: 1.4;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<p><button id="btnTest">Test Hidden</button>
<button id="up">slideUp()</button>

<div id="test">
    Aliquam quis tortor diam dis, mid augue est magnis in pid montes. Est urna penatibus et facilisis in, dictumst nec ac duis odio mauris? Purus mus montes non aenean placerat tempor mus? Tincidunt aliquet nunc tristique tristique augue adipiscing natoque urna sit natoque in? Non elit? Duis eros porta amet scelerisque odio natoque natoque!
</div>
&#13;
&#13;
&#13;