2015年5月14日木曜日

(jQueryの学習)エフェクト:特定エリアの開閉(toggle系以外のメソッド)

今回も「特定エリアの開閉」を学びます。

前回学んだ方法は
 1.toggleメソッド
 2.slideToggleメソッド
 3.fadeToggleメソッド
です。

これに対して、
今回は
 4.showメソッド と hideメソッド の組合せ
 5.slideDownメソッド と slideUpメソッド の組合せ
 6.fadeInメソッド と fadeOutメソッド の組合せ
について学びます。

◆開閉方法の違い

4.show-hideメソッドのサンプル

slow normal fast
描画効果:「対角線方向(閉:右下から左上 開:左上から右下)」で表示・非表示を制御する

<<<開いたり、閉じたりする領域(開始)>>>

    x = $("#showHide-Target");
    if (x.is(":hidden")) {
      x.show("slow");
    } else {
      x.hide("slow");
    }
  

<<<開いたり、閉じたりする領域(終了)>>>


5.slideUp-slideDownメソッドのサンプル

slow normal fast
描画効果:「垂直方向(閉:下から上 開:上から下)」で表示・非表示を制御する

<<<開いたり、閉じたりする領域(開始)>>>

    x = $("#slideUpDown-Target");
    if (x.is(":hidden")) {
      x.slideDown("slow");
    } else {
      x.slideUp("slow");
    }
  

<<<開いたり、閉じたりする領域(終了)>>>


6.fadeIn-fadeOutメソッドのサンプル

slow normal fast
描画効果:「指定エリア全面」で表示・非表示を制御する(徐々に消えたり、出たりする)

<<<開いたり、閉じたりする領域(開始)>>>

    x = $("#fadeInOut-Target");
    if (x.is(":hidden")) {
      x.fadeIn("slow");
    } else {
      x.fadeOut("slow");
    }
  

<<<開いたり、閉じたりする領域(終了)>>>



●ここまでで気づいたこと・・・

・前回のtoggle系メソッドと描画効果を類似している
・toggle系メソッドの方がコード量が少ない

描画効果の違いについて、
わかりやすくするため、似ているもの同士を左右に並べてみました。

◆開閉方法ごとの比較

大きく3つの描画効果に分けてみました。
効果toggle系toggle系以外
show/hide

1.toggleメソッド

<<<開閉エリア(開始)>>>

・・・・・・・・・・・・・・・

<<<開閉エリア(終了)>>>

4.show-hideメソッド

<<<開閉エリア(開始)>>>

・・・・・・・・・・・・・・・

<<<開閉エリア(終了)>>>

slide

2.slideToggleメソッド

<<<開閉エリア(開始)>>>

・・・・・・・・・・・・・・・

<<<開閉エリア(終了)>>>

5.slideUp-slideDownメソッド

<<<開閉エリア(開始)>>>

・・・・・・・・・・・・・・・

<<<開閉エリア(終了)>>>

fade

3.fadeToggleメソッド

<<<開閉エリア(開始)>>>

・・・・・・・・・・・・・・・

<<<開閉エリア(終了)>>>

6.fadeIn-fadeOutメソッド

<<<開閉エリア(開始)>>>

・・・・・・・・・・・・・・・

<<<開閉エリア(終了)>>>



このようにして比較してみると、違いは無いように見えます。

実はちょっと違うのかな?とあれこれいじってみましたが、大差無し。


・・・なんてことはない・・・。

jQueryの本家サイト(http://api.jquery.com/)で調べてみたところ、
toggle系のメソッドは、
2本のメソッド(例:toggle VS show⇔hide)を対に呼び出すことと同等と書いてありました。
http://api.jquery.com/toggle/ ("Examples:"の手前辺り)

だったら、コード量の少ない「toggle系メソッド」しか使わなくて良いかも知れませんね。

違いとしては、
使用するjQueryのバージョンによっては使えないところ(↓)なので、
ver1.4以降なら「toggle系メソッド」一択で良さそうです。

●バージョンによる違い

・toggle系以外のメソッド:ver1.0~
・toggle系メソッド   :ver1.4~


jQueryのバージョンの違いで大きく出るのは「1.x系」か「2.x系」か?を選択するときで、
しかも、「1.x系」は2015年5月現在で「ver1.11」まで上がっているので、
よほどのこと(バージョンアップにより廃止された機能が必要など)が無い限りは
「toggle系メソッド」を選択して問題ありませんね。

それでは、また。

Previous Post
Next Post

post written by: