▼カスタム関数を待ち行列にします。
<!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>