こういう場面が出てくるかどうかわかりませんが、たまに出てくると思います。
たとえば。。。。うーむ。
それには is() を使います。
is(:animated) とすればアニメーション中かどうか
is(:visible) とすれば表示されているかどうか
というように、状態を確認することができます。
いか、サンプルになります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
<title>is animated</title> $(function(){ $('#start').click(function(){ $('#target').hide(2000); $('#target').show(2000); }); $('#check').click(function(){ if($('#target').is(":animated")){ $('#result').text("アニメーション中です"); } else { $('#result').text("アニメーション中ではないです"); } }); }); <p><button id="check">check</button></p> <div id="result"> チェック結果 </div> <p><button id="start">start</button></p> <div id="target"> 消えたり現れたり </div> |
上記サンプルは”check”ボタンを押すとその下にあるid属性に”target”を持つdiv要素が
アニメーション中かどうかを確認しその結果をid属性に”result”をもつdiv要素に
表示するというものです。
以下で、”start”ボタンが押されたときにidが”target”のdivタグを2秒かけて消して、
直後に2秒かけて出現させます。
1 2 3 4 |
$('#start').click(function(){ $('#target').hide(2000); $('#target').show(2000); }); |
以下は、”check”ボタンが押されたときに、idが”target”のdivタグがアニメーション中
かどうかをis(“:animated”)でチェックしその結果を表示します。
1 2 3 4 5 6 7 |
$('#check').click(function(){ if($('#target').is(":animated")){ $('#result').text("アニメーション中です"); } else { $('#result').text("アニメーション中ではないです"); } }); |
/