Похоже, что после первого вызова этого кода вы уничтожаете #show, и, таким образом, в следующий раз #show больше не будет? Я собираюсь добавить несколько комментариев к вашему коду, чтобы понять, правильно ли я понимаю:
success: function() {
// File has been successfully posted to request.php
// We are now going to GET the contents of request.php (ignoring any response from the previous POST)
// Also note, should probably put remainder of code in a callback to "load", so we can be sure it has had a chance to load!...
$('#show').load("/admin/request.php").fadeIn("slow", function(){
setTimeout(function(){
$(function() {
$("#show").fadeTo("slow", 0.01, function(){
$(this).slideUp("slow", function() {
// Note! #show is being removed from the document here. It won't be available for future events.
$(this).remove();
});
});
});
}, 2000);
});
},
Удачи!
РЕДАКТИРОВАТЬ Посмотрев на это еще, я заметил, что вы создаете событие "готов" для документа после вашего setTimeout?
Я пытаюсь выяснить, какой эффект вы хотите. Похоже, вы хотите, чтобы что-то появилось после завершения загрузки (в #show
div), подождите несколько секунд, а затем снова исчезло? (Ваш slideUp
действует на затемненный элемент, поэтому эффект не будет виден.)
Как насчет чего-то подобного?
success: function() {
// File has been successfully posted to request.php
// We are now going to GET the contents of request.php (ignoring any response from the previous POST)
$('#show').load("/admin/request.php", function() {
$(this).fadeIn("slow", function() {
setTimeout(function() {
$("#show").fadeOut("slow", function() {
// don't remove #show. Just empty it for using again next time.
$(this).empty()
});
}, 2000);
});
});
},