.toggle()上的jQuery UI缓动设置是否能够确定切换状态?

时间:2013-02-25 13:05:03

标签: jquery html toggle

this问题中,我发现在切换div的可见性时使用缓动设置会破坏确定切换当前状态的能力。

a jsFiddle我有以下几行:

$(this).next('div.detailsTable').toggle('blind', 'easeInOutQuart', 300);
$(this).next('div.detailsTable').toggle();

随着它们中的每一个交替注释掉,检查“.is(':visible')”的if语句显示第一行总是显示false(不可见)。

在HTML中查看控制台,显示属性(无或可见)永远不会在隐藏/显示的div上设置。

转到上面链接的jsFiddle并交替注释掉每一行,你会明白我的意思。

如果你在jsFiddle的代码中看到了什么问题,请告诉我,否则,我怎样才能解决这个问题,以便能够确定切换状态,以便根据每个状态做些什么?

1 个答案:

答案 0 :(得分:2)

只需在切换结束时使用回调,否则测试将在动画结束之前完成

.toggle('blind', 'easeInOutQuart', 300, function(){
    if ($(this).is(':visible')) {
        alert('visible');
    } else {
        alert('not visible');
    }
});

http://jsfiddle.net/wWaDm/7/