我通过$ .post从数据库加载一些文本。有时候在页面加载时屏幕只是空白,当我检查元素div时它被设置为<div id="#panel" style="display:none">
,我不知道为什么会发生这种情况,尽管在$.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');
});
答案 0 :(得分:4)
试试这个:
if ($('#panel').is(':hidden')) {
$('#panel').remove()
}
或:
$('#panel:hidden').remove()
但是,您可以使用error
方法而不是删除div:
$.post("example.php", function() {
// success
}).error(function() {
$('#panel').show()
// error
})