2012-07-01 5 views
0

Я использую эту функцию для загрузки данных из файла PHP:JQuery Ajax показать функции

$('#form form').submit(function(){ 
    $('#content').empty(); 
    $.get('data.php', $(this).serialize(), function(data){       
     $('#content').html(data);    
    });   
    return false; 
}); 

То, что я хочу, чтобы показать данные с некоторой анимацией вроде fadeIn эффекта.

ответ

1

Вы можете сделать это только с:

$('#form form').submit(function(){ 
$('#content').empty(); 
$('#content').fadeOut(); 
$.get('data.php', $(this).serialize(), function(data){       
$('#content').html(data); 
$('#content').fadeIn();    
});   
return false; 
}); 
+4

Мой плохой, не заметил, что вы добавили '.fadeOut' перед' $ .get'. Некоторый правильный отступ не повредит, и, пожалуйста, повторите использование ваших селекторов. Эти методы jQuery возвращают сам объект jQuery, вы можете связать методы без необходимости использовать новый селектор для каждого действия. –

0

Работы с предложенными правками ответа htynkn, вы можете сделать это:

$('#form form').submit(function(){ 
    var $content = $('#content'); 
    $content.empty().fadeOut(); 
    $.get('data.php', $(this).serialize(), function(data){       
     $content.html(data).fadeIn();    
    });   
    return false; 
}); 

Вы получаете минификацию и эффективность выгоду от объявления локальных переменного $content плюс вы можете цепью, как было предложено. Вы также можете использовать .hide() вместо .fadeOut().

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