1

$.post を介してデータベースからテキストを読み込んでいます。ページの読み込み時に画面が空白になることがあります。要素を検査すると<div id="#panel" style="display:none">、 に設定されている div が表示されますが、なぜこれが起こっているのかわかりませんが$.post、div をフェードアウトする前$.postに出力を取得すると、元に戻りますdiv。

$('#panel').html(output).show();

私は使用して$("#panel").fadeOut(100);いるので、loading.gif を機能させることができます。

#panel のスタイルが display:none に設定されているかどうかを確認する方法はありますか?設定されている場合は削除します。

ありがとう。

編集:チェックボックスの変更とページの読み込み時に呼び出す関数

$("#loading").show();
$("#panel").fadeOut(100);
$('#options :input').prop('disabled', true);
$('#loading').html("<img src='loading.gif'>"); 
var langSelected = $('input[name=text]:checked').map(function() {return $(this).parent().text();}).get().join(",");

$.post('http://mywebsite.com/data.php', { value: languages.url.value, mycheckboxes: langSelected},
function(output) {
    $('#panel').html(output).show(); 
    $('#loading').hide();
    $('#options :input').removeAttr('disabled');

});
4

1 に答える 1

4

これを試して:

if ($('#panel').is(':hidden')) {
     $('#panel').remove()
}

また:

$('#panel:hidden').remove()

ただし、div を削除する代わりに、次のerrorメソッドを使用できます。

$.post("example.php", function() {
      // success
}).error(function() { 
      $('#panel').show()
      // error
})
于 2012-08-12T18:15:06.930 に答える