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

时间:2015-03-04 13:16:59

标签: jquery slidetoggle

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

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

但是,似乎else方法无效。如何使其有效?

Fiddle work

2 个答案:

答案 0 :(得分:0)

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

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

Example fiddle

答案 1 :(得分:0)

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

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