ボタンクリックでお知らせバーを表示する方法
ボタンクリックでお知らせバーを表示する方法を紹介します。このサンプルでは、ページを開いた直後はお知らせバーを非表示にしておき、「お知らせを表示」ボタンをクリックすると、ブラウザの画面上部へ横幅いっぱいのお知らせバーを表示します。HTMLとCSSでお知らせバーの構造とデザインを作り、JavaScriptでボタンクリックによる表示処理を実装します。
Webサイトの重要なお知らせ、メンテナンス情報、サービスに関する案内、キャンペーン情報など、必要なタイミングで利用者へ情報を表示したい場合に利用できます。常に表示しておくお知らせバーとは異なり、ボタンを操作したときだけ表示できるため、ページ内の操作に応じて案内を見せたい場合にも使いやすい構成です。
HTMLではお知らせ内容や表示ボタンの文章を変更でき、CSSでは背景色、文字色、余白、文字サイズ、影などを調整できます。JavaScriptではボタンがクリックされたときにクラスを追加し、非表示だったお知らせバーを画面上部へ表示します。横幅は画面いっぱいに広がるため、スマートフォン・タブレット・PCでも利用できるシンプルなお知らせバーのサンプルです。
免責事項 本コードの利用により発生した損害について、当サイトは一切の責任を負いません。
デモ
「お知らせを表示」ボタンをクリックすると、デモエリアの上部にお知らせバーが表示されます。配布コードでは実際の画面上部へ固定表示されます。
コードをコピーして使おう!
<!DOCTYPE html>
<html lang="ja">
<head>
<!-- 文字コード -->
<meta charset="UTF-8">
<!-- スマートフォン対応 -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- ページタイトル -->
<title>ボタンクリックでお知らせバーを表示する方法</title>
<!-- CSSファイル -->
<link rel="stylesheet" href="style.css">
</head>
<body>
<!-- デモエリア -->
<div class="button-notice-bar_wrap">
<!-- タイトル -->
<div class="button-notice-bar_title">
画面上部のお知らせバー
</div>
<!-- 説明文 -->
<p class="button-notice-bar_text">
ボタンをクリックすると、画面上部にお知らせバーが表示されます。
</p>
<!-- お知らせバーを表示するボタン -->
<button
type="button"
class="button-notice-bar_button"
data-notice-open="">
お知らせを表示
</button>
</div>
<!-- 画面上部へ表示するお知らせバー -->
<div
class="button-notice-bar_notice"
data-notice-bar="">
重要なお知らせを表示しています
</div>
<!-- JavaScriptファイル -->
<script src="script.js"></script>
</body>
</html>
サンプル一式を取得する場合 HTML・CSSなどすべてのファイルが必要な場合は、「サンプル一式をダウンロード」をクリックしてください。
Q ダウンロードしたけど、これをネット上で動かすにはどうするの?
Googleアカウントがあれば、InfinityFreeで無料サーバーを作成して、ダウンロードしたサンプルをネット上で動かせます。
InfinityFreeを初めて利用する場合は①から、すでにサーバーを作成している場合は②へ進んでください。
ファイル構成と設置方法
このサンプルはHTML、CSS、JavaScriptの3ファイルで構成されています。HTMLで表示ボタンとお知らせバーを作成し、CSSでデザインと画面上部への固定表示を設定します。JavaScriptでは表示ボタンのクリックを検知して、お知らせバーへ表示用のクラスを追加します。
sample/
├── index.html
├── style.css
└── script.js
各ファイルの役割
index.htmlは表示ボタンとお知らせバーを構成するファイルです。「お知らせを表示」のボタン文字や「重要なお知らせを表示しています」の文章を変更できます。index.htmlからstyle.cssとscript.jsを読み込む構成です。
style.cssはデモエリア、表示ボタン、お知らせバーのデザインを設定するファイルです。お知らせバーは初期状態をdisplay:none;とし、position:fixed;、top:0;、left:0;によって画面上部へ固定できるようにしています。
script.jsは表示ボタンをクリックしたときの処理を行うファイルです。クリックするとお知らせバーへis-showクラスを追加し、非表示状態から表示状態へ切り替えます。
設置方法・使い方
sampleフォルダへindex.html、style.css、script.jsを配置します。3つのファイルを同じ階層へ保存したあと、sample/index.htmlをブラウザで開いてください。ページを開いた直後はお知らせバーが表示されていません。「お知らせを表示」ボタンをクリックすると、画面上部へお知らせバーが表示されます。
カスタマイズできる内容
index.htmlではタイトル、説明文、表示ボタンの文字、お知らせバーへ表示する文章を変更できます。style.cssではデモエリアやボタン、お知らせバーの背景色、文字色、余白、文字サイズ、角丸、影などを変更できます。script.jsでは表示ボタンをクリックしたときにis-showクラスを追加する処理を行っています。
数値調整
style.css
max-width:700px;
デモエリアの最大横幅です。値を大きくすると横に広がり、小さくするとコンパクトになります。
margin:40px auto;
デモエリアの上下余白です。40pxを大きくすると上下の間隔が広がり、小さくすると狭くなります。
padding:32px;
デモエリアの内側余白です。値を大きくすると内容と枠線の間隔が広がります。
border-radius:18px;
デモエリアの角丸です。値を大きくすると丸みが強くなり、0にすると四角になります。
font-size:22px;
タイトルの文字サイズです。値を大きくすると文字が大きくなります。
padding:12px 24px;
表示ボタンの内側余白です。上下の12pxを大きくするとボタンが高くなり、左右の24pxを大きくすると横に広がります。
border-radius:8px;
表示ボタンの角丸です。値を大きくすると丸みが強くなり、0にすると四角になります。
font-size:16px;
表示ボタンの文字サイズです。値を大きくすると文字が大きくなります。
top:0;
お知らせバーを画面上端へ配置する位置です。0pxでは画面上端に密着して表示されます。
z-index:9999;
お知らせバーの重なり順です。値を大きくすると、より前面へ表示されやすくなります。
padding:14px 20px;
お知らせバーの内側余白です。上下の14pxを大きくするとバーが高くなり、左右の20pxを大きくすると文章と画面端の間隔が広がります。
box-shadow:0 8px 20px ...
お知らせバーの影です。8pxを変更すると影の縦方向の位置が変わり、20pxを変更するとぼかしの広がりが変わります。
レスポンシブ対応
このサンプルはレスポンシブ対応です。style.cssのwidth:100%とmax-width:700pxによってデモエリアが画面幅に合わせて縮小され、お知らせバーもwidth:100%によって画面の横幅いっぱいに表示されます。また、640px以下ではデモエリアをpadding:24px 18px;、お知らせバーをpadding:14px 18px;へ変更しているため、スマートフォン・タブレット・PCで利用できます。
コメント