此代码:
$('#x').hide();
$('#y').hide();
alert($('#y').is(":visible"));
alert($('#x').is(":visible"));
在ipad上显示两条警告,表示正确。这怎么可能?在Chrome上,他们应该显示错误。
答案 0 :(得分:2)
您应该使用回调参数:
$('#x').hide(0, function() {
alert($('#y').is(":visible"));
});
该功能仅在动画结束时执行。 虽然,这应该没有任何动画......
答案 1 :(得分:1)
我认为jQuery不会在解释下一个代码之前等待动画完成。也许IPad的解释速度比隐藏速度快,因此两个元素仍然可见。
您可以使用window.setTimeout