我正在通过$.post从数据库中加载一些文本。有时在页面加载时屏幕只是空白的,当我检查元素div 时,它设置为 <div id="#panel" style="display:none">
,我不知道为什么会发生这种情况,尽管在$.post
之前我会淡出div,当$.post
得到输出时,我会带回div。
$('#panel').html(output).show();
我正在使用$("#panel").fadeOut(100);
,所以我可以使我的加载.gif工作。
有没有办法检查 #panel 的样式是否设置为显示:无,如果是,则将其删除。
谢谢。
编辑:我的函数我在复选框更改和页面加载时调用
$("#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');
});
试试这个:
if ($('#panel').is(':hidden')) {
$('#panel').remove()
}
或:
$('#panel:hidden').remove()
但是,您可以使用 error
方法,而不是删除div:
$.post("example.php", function() {
// success
}).error(function() {
$('#panel').show()
// error
})