我有以下代码:
$('#country-list').change(function() {
country = $('#country-list').val();
$('td').fadeOut("slow", function() {
$.post("/gsm/findtariff/country:"+country+"/",
function(data){
$('#incoming').html(data.incoming);
$('#national').html(data.national);
$('#callsToUk').html(data.toUk);
$('#international').html(data.otherInternational);
$('#sms').html(data.sms);
}, "json");
$('td').fadeIn();
});
});
所以基本上当从我的下拉框(#country-list)中选择一个国家时,它应该淡出我的资费表中的所有tds,用返回的发布数据更改它们的值,然后再将它们淡入。然而,在我的当前代码中,td在它们的值被更改之前逐渐消失。如何在设置完所有数据后才能使fadeIn()函数执行?
由于
答案 0 :(得分:3)
你的回调函数中应该有$('td').fadeIn();
$('td').fadeOut("slow", function() {
$.post("/gsm/findtariff/country:"+country+"/",
function(data){
$('#incoming').html(data.incoming);
$('#national').html(data.national);
$('#callsToUk').html(data.toUk);
$('#international').html(data.otherInternational);
$('#sms').html(data.sms);
$('td').fadeIn();
}, "json");
});
答案 1 :(得分:0)
将fadeIn
调用向上移动一行。