Jquery 如何检测元素是否淡出

Jquery 如何检测元素是否淡出,jquery,if-statement,fadein,fadeout,Jquery,If Statement,Fadein,Fadeout,我想要两个按钮,一个是淡出div1,另一个是淡入div1,或者淡出按钮本身,如果div1已经隐藏。这是代码,虽然很不必要,因为我的主要问题是“if”语句 $('#b > button').click(function(){ $('#div1').fadeOut(400) }); $('#div2 > button').click(function(){ $('#div1').fadeIn(400) }); 淡出只需将显示更改为none 使用jQuery的$('se

我想要两个按钮,一个是淡出div1,另一个是淡入div1,或者淡出按钮本身,如果div1已经隐藏。这是代码,虽然很不必要,因为我的主要问题是“if”语句

$('#b > button').click(function(){
    $('#div1').fadeOut(400)
});

$('#div2 > button').click(function(){
    $('#div1').fadeIn(400)
});

淡出只需将
显示更改为
none


使用jQuery的
$('selector').css('display')
$('selector')检查显示是否为无。是否(':visible')
为什么不禁用/启用按钮

$('#b > button').click(function(){
    $('#div1').fadeOut(400, function() {
        $(this).prop('disabled', true);
        $('#div2 > button').prop('disabled', false);
    });
});

$('#div2 > button').click(function(){
    $('#div1').fadeIn(400, function() {
        $(this).prop('disabled', true);
        $('#b > button').prop('disabled', false);
    });
});

这是一个更好的解决方案,因为另外两个建议涉及到从DOM读取数据,这对于性能来说是完全不必要和昂贵的。最好在代码中维护状态,这样一个简单的切换就可以了。最好先向DOM中写入,然后再从DOM中读取。