2009-11-21 2 views
0

JQuery код:Могу ли я сделать загрузку jQuery(); появляются медленно?

$(document).ready(function() { 
    $("#post_submit").click(function(event) { 
     event.preventDefault(); 
    $("#show").load("post.php", { 
     submit: $("#post_submit").val(), 
     title: $("#title").val(), 
     body: $("#body").val(), 
     tags: $("#tags").val() 
    }); 
    }); 
}); 

Это прекрасно работает, и отображается информация без перезагрузки страницы (вах), но это не очень гладко. Мне было интересно, как я могу заставить его появляться медленно, например $(div).show("slow"); или $(div).toggle("slow").

ответ

2

Способ сделать это - загрузить новый контент в скрытый контейнер. Затем запустите show («slow») до конца события загрузки.

Как показано на рисунке jQuery documentation, загрузка возвращает объект jQuery, поэтому его можно связать с другими событиями.

Что-то вдоль линий

$("#show").hide(); 
$("#show").load("post.php", { 
    submit: $("#post_submit").val(), 
    title: $("#title").val(), 
    body: $("#body").val(), 
    tags: $("#tags").val() 
}).show("slow"); 
+0

Используя этот код, 'шоу()' будет выполняться до 'post.php' завершил загрузку - я сомневаюсь, что это будет заметно в большинстве случаев - но это может быть стоит добавить 'show()' к обратному вызову, который будет запускаться только после загрузки 'post.php'. – James

Смежные вопросы