【移転しました】YQUAL BLOG -ワイコールブログ-

プログラマーのきままなブログです。学習方法やフリーランスで生き抜いていく方法を発信していきます。

jQueryを使用した表示非表示に関する考察

考察というほどではありませんが

ボタンを押したら表示非表示が切り替わる、これをjQueryを使用して実装する場合

jQuery(document).ready(function(){

 $('.btn').click(function(){
   $('.window').toggle();
 });

 });

こんな感じですね。
簡単に解説すると

classに【btn】がついている要素を押せば、classに【window】がついている要素が「toggle()」します

「toggle()」を使うと、開いているときは閉じて、閉じているときは開くという動きが簡単に実装できます
※ほかにも「slideToggle()」とかがあります。どんな動きになるか是非試してみましょう

ここで大切なこと

連打すると、連打しただけ開閉を繰り返します。

これが実は悩ましい。
ボタンを押して発火するような今回のパターンであればあまり問題はないのですが
マウスオーバーで発火する場合は厄介です。

なので、おまじない

jQuery(document).ready(function(){

 $('.btn').click(function(){
   $('.window').stop().toggle();
 });

 });

「toggle()」の前に「stop()」を実行させます。
これで、連打しても「stop()」が働いてくれるおかげで、連打分のモーションがたまりません。

アクションをさせるときは、必ず「stop()」をつけるべきかそうでないべきか、考えておかなければいけません。