jQueryで要素の表示と非表示を行う方法その1【display none】
jQueryでは、CSSのdisplayプロパティを使うことで要素の表示・非表示を切り替えることができます。今回は、displayプロパティの概要や実際の使い方を紹介していきます。
ぜひ、参考にしてみてください。
- プロジェクト
リーダー - displayプロパティを使うと、パソコンで見たときは表示する要素をスマホで見たときは非表示にするなど、複数デバイスへの対応が簡単にできるようになりますよ。
- システム
エンジニア - “ボタンを押したときにだけ表示する”といった動きも再現できますね!
displayプロパティとは
displayプロパティは、要素の表示形式を変更できるCSSのプロパティの一つです。[ block ] や [ inline ] など、displayプロパティではさまざまな値を取れるのですが、要素の表示・非表示には [ none ] という値を使って、jQueryの中では次のように記述します。
1
|
要素名.style.display = "none";
|
ちなみに、あくまでも要素が非表示になるだけなので、[ display none ] を設定したからと言ってページの読み込み速度は上がりません。
また、要素の表示・非表示を切り替える方法には、[ display none ] 以外にも [ show / hide ] [ visibility ] などが挙げられます。表示・非表示についてもっと知りたい!という方は、ぜひ他のページも参考にしてみてください。
displayプロパティで表示・非表示を切り替えてみよう
ここでは、実際にdisplayプロパティを使って、要素の表示・非表示の切り替えを行っていきます。「切り替え」と聞くと少し難しく感じますが、要は次のことを行えばいいだけです。
- 要素のIDを取得
- イベント発生時に取得したIDに対して表示・非表示を行う
ソースコードは次のようになります。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
<script type="text/javascript">
// ロゴを表示する
function display(){
// IDを取得
var logo = document.getElementById("limitedLogo");
logo.style.display = "block";
}
// ロゴを非表示にする
function undisplay() {
// IDを取得
var logo = document.getElementById("limitedLogo");
logo.style.display = "none";
}
</script>
|
1
2
3
4
5
6
7
8
|
<body>
<!-- jQuery側から特定できるよう要素に対してIDを設定 -->
<img id="limitedLogo" class="logo" src="logo.png"><br/>
<!-- 表示ボタンが押されたときにdisplayメソッドを呼ぶ -->
<input type="button" value="表示" onclick="display();"/>
<!-- 非表示ボタンが押されたときにundisplayメソッドを呼ぶ -->
<input type="button" value="非表示" onclick="undisplay();"/>
</body>
|
上記を実行すると、次のような結果になります。
非表示をクリックすると……
ちゃんと非表示になりましたね。
ロゴを複数にするとこんな感じに仕上がります。
すべて表示したり……
いくつか非表示にしたり……などの切り替えを簡単に行うことができます。
- プロジェクト
リーダー - 今回はボタンで行いましたが、工夫をすればスクロールしたとき・マウスポインタを特定の要素に合わせたときなどのイベントでも切り替えは可能です。ただ、あくまでコンテンツを「非表示」にするだけなので、ページ読み込みの速度が上がるわけではないんですよ。
- システム
エンジニア - なるほど。でもレスポンシブデザインは簡単にできそうですね。
displayプロパティで効率よくウェブページを作ろう
一つのソースコードで要素の表示・非表示を切り替えることができるdisplayプロパティ。
非表示に設定していてもコンテンツ自体は読み込まれるため表示スピードは上がりませんが、知っておくととても便利なプロパティです。ぜひ、ウェブページを作成する際に取り入れてみてはいかがでしょうか。
FEnet.NETナビ・.NETコラムは株式会社オープンアップシステムが運営しています。
株式会社オープンアップシステムはこんな会社です
秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
数多くのエンジニアが集まります。
-
スマホアプリから業務系システムまで
スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。
-
充実した研修制度
毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。
-
資格取得を応援
スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。
-
東証プライム上場企業グループ
オープンアップシステムは東証プライム上場「株式会社オープンアップグループ」のグループ企業です。
安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。
株式会社オープンアップシステムに興味を持った方へ
株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。
年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。
新着案件New Job
-
開発エンジニア/東京都品川区/【WEB面談可】/在宅ワーク
月給29万~30万円東京都品川区(大崎駅) -
遠隔テストサービス機能改修/JavaScript/東京都港区/【WEB面談可】/テレワーク
月給45万~60万円東京都港区(六本木駅) -
病院内システムの不具合対応、保守/東京都豊島区/【WEB面談可】/テレワーク
月給30万~30万円東京都豊島区(池袋駅) -
開発/JavaScript/東京都豊島区/【WEB面談可】/テレワーク
月給50万~50万円東京都豊島区(大塚駅) -
債権債務システム追加開発/東京都文京区/【WEB面談可】/在宅勤務
月給62万~67万円東京都文京区(後楽園駅) -
PMO/東京都豊島区/【WEB面談可】/在宅勤務
月給55万~55万円東京都豊島区(池袋駅)