Я попробовал твой код, и он, кажется, работает так, как ты хотел. Мне пришлось увеличить время затухания с 300 до 2000 мс, чтобы лучше видеть затухание.
Единственная проблема, с которой вы столкнетесь, - это loading.gif, который не появляется. Это потому, что вы исчезли из этого элемента, поэтому вы ничего не увидите там:)
edit: вместо этого вы можете сделать что-то подобное.
function show(div){
$("#showdata").fadeTo(2000,0.0,function() {
$("#showdata")
.parent().append('<img src="loading.gif" />') //add the image to the container, so you can see it still
.end().load('includes/show/'+div+'.inc.php', function(){
$("#showdata")
.parent().find('img').remove() //remove the image once the page is loaded.
.end().end().fadeTo(2000,1.0);
});
});
}
Вы должны добавить контейнер div вокруг #showdata.
<div>
<div id="#showdata">TEST</div>
</div>