为什么不jquery fadeIn()与.html()的工作?

当你点击你的checkbox时,我希望消息慢慢消失。

为什么没有.fadeIn()在这个例子中工作?

HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"/> <title>Text XHTML Page</title> <link href="css/main.css" rel="stylesheet" type="text/css" media="all"/> <script type="text/javascript" src="http://www.google.com/jsapi"></script> <script type="text/javascript" src="javascript/main.js"></script> </head> <body> <div class="checkboxList"> <div class="title">Languages:</div> <div class="row"><input class="checkbox" type="checkbox"/><span class="label">Ruby</span></div> <div class="row"><input type="checkbox"/><span class="label">PHP</span></div> <div class="row"><input type="checkbox"/><span class="label">C#</span></div> <div class="row"><input type="checkbox"/><span class="label">Python</span></div> <div class="row"><input type="checkbox"/><span class="label">JavaScript</span></div> </div> <p id="message"></p> </body> </html> 

JavaScript的:

 google.load("jquery", "1.3.2"); //run when page is loaded google.setOnLoadCallback(function() { $('.checkboxList .row').css('color','red'); $('.checkboxList input').attr('checked', true); $('.checkboxList input').bind('click', function() { $('#message').html("You clicked on a checkbox.").fadeIn('slow'); }); }); 

没有fadeIn被完成,因为#message元素是可见的,隐藏它,添加内容和淡入:

 $('#message').hide().html("You clicked on a checkbox.").fadeIn('slow'); 

经过分析这个问题,我必须解决,这是我的代码,这工作使用淡出,改变HTML和淡入淡出

 $("#div_big_picture").fadeOut('slow',function(){ $(this).html("<img src='" + str_to_load + "' height='800px' />") }).fadeIn("slow"); 

不知道为什么,但我有麻烦之前链接。 你可以通过使用这个不那么优雅的代码来得到你想要的效果:

 google.load("jquery", "1.3.2"); //run when page is loaded google.setOnLoadCallback(function() { $('.checkboxList .row').css('color','red'); $('.checkboxList input').attr('checked', true); $('.checkboxList input').bind('click', function() { $('#message').hide(); //just in case $('#message').html("You clicked on a checkbox."); $('#message').fadeIn('slow'); }); });