▼カスタム関数を待ち行列にします。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Language" content="ja" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="imagetoolbar" content="no" />
<title>jQuery Core:データ:queue([name,] callback)の使用例 | jQuery</title>
<link rel="stylesheet" type="text/css" href="/content/lib/global.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
$("#btn_show").click(function(){
$("#res").html("");
$("#sample").show("slow");
$("#sample").animate({left:'+=200'},2000);
/* 要素のキューが終了したら、新しい処理を追加して実行 */
$("#sample").queue(function(){
var txt=$("#res").html();
$("#res").html(txt+"要素の待機中の処理がすべて終了しました。要素にnewcolorクラスを追加する処理を新たに追加しました。<br>");
$(this).addClass("newcolor");
$(this).dequeue();
});
$("#sample").animate({left:'-=200'},500);
$("#sample").queue(function () {
var txt=$("#res").html();
$("#res").html(txt+"要素の待機中の処理がすべて終了しました。要素からnewcolorクラスを削除する処理を新たに追加しました。");
$(this).removeClass("newcolor");
$(this).dequeue();
});
$("#sample").slideUp();
});
});
</script>
<style type="text/css">
#res { color:red; height:3em; }
.ani { position:relative; width:400px; height:100px; }
#sample { margin:3px; width:100px; height:100px; line-height:100px; text-align:center; color:#fff; position:absolute; left:0px; top:0; background:red; display:none; }
#sample.newcolor { background:blue; }
</style>
<link rel="stylesheet" type="text/css" href="/common/css/example.css"></head>
<body id='example3' class='example'><div class="ads" style="margin:32px auto;text-align:center;"></div><h1 class='h'><a href='/'>PHP & JavaScript Room</a> :: 設置サンプル</h1>
<h3 class='h'>実行結果</h3>
<div id="wrap">
<h1>jQuery Core:データ:queue([name,] callback)の使用例 | jQuery</h1>
<p>▼カスタム関数を待ち行列にします。</p>
<!-- CODE -->
<p><button id="btn_show">アニメーション再生</button></p>
<div class="ani"><div id="sample">div#sample</div></div>
<p id="res"></p>
<!-- / CODE -->
</div>
</body>
</html>