我有一段jQuery代码通过POST查询页面,然后该页面返回一些显示在页面上的文本。这是我用来成功执行此操作的代码:
$.post(
"query.php?module=vote",
{answer: ans, pid: pid, to: to, page: page},
function(responseText){
$("#poll").html(responseText);
},
"html"
);
我尝试将$("#poll").html(responseText)
更改为$("#poll").html(responseText).fadeIn(1500);
,但它不起作用。
我必须做什么/改变才能让文字淡入页面?
答案 0 :(得分:4)
为了淡入,元素必须首先淡出。尝试立即淡出(0秒),然后使用回调函数添加内容并淡入。
$.post(
"query.php?module=vote",
{answer: ans, pid: pid, to: to, page: page},
function(responseText){
$("#poll").fadeOut(0,function(){
$(this).html(responseText).fadeIn();
});
},
"html"
);
答案 1 :(得分:1)
在你淡入某些东西之前,你必须确保它是隐藏的。试试这个:
$("#poll").html(responseText).hide().fadeIn(1500);
或者,您可以确保使用CSS隐藏元素:
#poll {
display: none;
}
现场演示(显示两种方法): http://jsfiddle.net/n5rnw/1/
答案 2 :(得分:0)
因为元素是默认显示的,所以首先需要 fadeOut / hide 然后再次淡入淡出元素,如下所示:
$('#element').fadeOut(500).html(content).fadeIn(500);