【JS】【jQuery】【HTML】【CSS】表示 / 非表示の切り替え

■ 方法

【1】CSS/JavaScriptを使用する

 => style="display: none" を使用して、切り替える

【2】jQueryを使用する

[1] hide/show を使用する
[2] toggle / fadeToggle / slideToggle を使用する

■ 注意

「style="display: none"」と「visibilityプロパティ」の違い

[1] style="display: none" を使用して、切り替える
 => 描画領域自体が削除される

[2] visibilityプロパティを使用して、切り替える
 => 描画領域はそのままで非表示

非表示した際のブラウザ上の動作について

 * ラジオボタンなどの一部を非表示にした状態で、マウスではなく、矢印キーなどでカーソル移動した際に
   全てを表示した動きとは異なる挙動になる。
  => 非表示だけでなく、非活性にすれば回避できる
非活性については、以下の関連記事を参照のこと。
http://blogs.yahoo.co.jp/dk521123/35752039.html

■ サンプル

【1】CSS/JavaScript

概要
 [1] getElementsByTagNameで、タグのオブジェクトを取得
 [2] 取得したオブジェクトからclassNameで、クラス名を取得し、該当するタグを探す
 [3] 該当するタグを見つけたら、styleのdisplayに表示(block)・非表示(none)を切り替える
サンプルコード
//初期設定
function menuInit() {
  if(!document.getElementsByTagName) {
    // DOMをサポートしていなければ実行しないで抜ける
    return;
  }

  //HTML中の「div」タグを取得
  var objs = document.getElementsByTagName("div");
  for(var i = 0; i < objs.length; i++) {
    //クラスネーム「displayMenu」を探して非表示
    if(objs[i].className == "displayMenu") {
      objs[i].style.display = "none";
     }
  }
}

//表示・非表示切替関数
function switchDisplay(id) {
  if(!document.getElementsByTagName) {
    //DOMをサポートしていなければ実行しないで抜ける
    return;
  }

  //ツリーのオブジェクトを取得
  var obj=document.getElementById(id);
  //表示・非表示切替処理
  if(obj.style.display == "block") {
    obj.style.display = "none";
  } else {
    obj.style.display = "block";
  }
  return false;
}

【2】jQuery

 * fadeToggleでスイッチON/OFFを実装
* 使用しているアイコンについては、以下の関連記事を参照のこと。
http://blogs.yahoo.co.jp/dk521123/35506135.html
<html>
<head>
<meta charset="UTF-8">
<script src="">https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js">
<link rel="stylesheet" href="">https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">
<style type="text/css">
div.parent {
  border: black solid;
  overflow: auto;
}

.custom-switch {
  float:right;
}
.custom-switch-on {
  color: DarkOrange;
}
.custom-switch-off {
  color: SlateGray;
}
.custom-switch-on:hover {
  color: LightSkyBlue;
  cursor: pointer;
}
</style>
</head>
<body>
<div class="parent">
  <div id="power-switch" class="fa-stack fa-lg custom-switch custom-switch-on">
    <i class="fa fa-circle fa-stack-2x"></i>
    <i class="fa fa-power-off fa-stack-1x fa-inverse"></i>
  </div>
  <div id="television">
    <i class="fa fa-television fa-5x"></i>
  </div>
</div>

<script>
$(function () {
  $("#power-switch").on("click", function(){
    $(this).toggleClass("custom-switch-off");
    $("#television").fadeToggle("slow");
  });
});
</script>
</body>
</html>


関連記事

jQuery 基本文法編

http://blogs.yahoo.co.jp/dk521123/35683638.html

活性 / 非活性の切り替え

http://blogs.yahoo.co.jp/dk521123/35752039.html

jQuery】偶数/奇数の要素で処理を切り替える

https://blogs.yahoo.co.jp/dk521123/37653162.html