检查:隐藏在元素切换中不起作用

Checking :hidden is not working inside element toggle

slideToggle()里面,当元素可见时,我想做一个特定的任务。当元素被隐藏时,我想做另一个任务。所以,我安排了这样的代码:

if($('.element').is(':visible')) {
  // do something
} else {
  // do something   
}

但是,else 方法似乎不起作用。如何让它发挥作用?

Fiddle work

您根本不需要 if 条件,您可以同时切换两个 类:

$('body').on('click', '.open', function() {  
    $('.openning').slideToggle();
    $(this).find('.glyphicon').toggleClass('glyphicon-chevron-down glyphicon-chevron-up');
});

Example fiddle

我试过了这个如果条件请看我的代码 我检查条件是否像这样

    if($('.openning').css('display') == "none") 




it is getting both events 
    $('body').on('click', '.open', function() {  
        $('.openning').slideToggle();
        alert($('.openning').css('display'));
        if($('.openning').css('display') == "none") {
            alert("out");
            $(this).find('.glyphicon').removeClass('glyphicon-chevron-down').addClass('glyphicon-chevron-up');
        } else {
            alert("in");
            $(this).find('.glyphicon').removeClass('glyphicon-chevron-up').addClass('glyphicon-chevron-down');  
        }
    });