/ / jqueryのfadeIn()が.html()と連携しないのはなぜですか? - jquery、fadein

jqueryのfadeIn()が.html()と連携しないのはなぜですか? - jquery、fadein

あなたがあなたのチェックボックスをクリックするとき、私はメッセージがゆっくりフェードインしてほしいです。

なぜこの例では、tfadeIn()が機能しないのですか?

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");
});

});

回答:

回答№1の204

#message要素が表示、非表示、コンテンツの追加、フェードインの順になっているため、fadeInは行われません。

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

回答№2のための8

私が解決しなければならないこと、この問題を分析した後、これは私のコードです、それはフェードアウトを使用して、htmlとfadeinを変更するのに働きます

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

答え№3の2

理由はわかりませんが、以前はこれを連鎖させるのに問題がありました。それほどエレガントではないコードを使用することで、必要な効果を得ることができます。

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");
});

});