このコード:
$('#x').hide();
$('#y').hide();
alert($('#y').is(":visible"));
alert($('#x').is(":visible"));
iPad の場合、true と表示される 2 つのアラートが表示されます。これはどのように可能ですか?Chrome では、想定どおり false と表示されます。
このコード:
$('#x').hide();
$('#y').hide();
alert($('#y').is(":visible"));
alert($('#x').is(":visible"));
iPad の場合、true と表示される 2 つのアラートが表示されます。これはどのように可能ですか?Chrome では、想定どおり false と表示されます。
コールバック パラメータを使用する必要があります。
$('#x').hide(0, function() {
alert($('#y').is(":visible"));
});
この関数は、アニメーションが終了したときにのみ実行されます。ただし、これはアニメーションなしで行われるはずです...
jQuery は、次のコードが解釈される前にアニメーションが終了するのを待たないと思います。おそらく、iPad は非表示よりも高速に解釈できるため、両方の要素が表示されたままになります。
これを使用して確認できますwindow.setTimeout