在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的代码中看到了什么问题,请告诉我,否则,我怎样才能解决这个问题,以便能够确定切换状态,以便根据每个状态做些什么?
答案 0 :(得分:2)
只需在切换结束时使用回调,否则测试将在动画结束之前完成
.toggle('blind', 'easeInOutQuart', 300, function(){
if ($(this).is(':visible')) {
alert('visible');
} else {
alert('not visible');
}
});