以前、「ドロワーメニューを簡単に実装できるjQueryプラグイン5選」でも紹介したjQueryプラグイン「SlideReveal」を紹介します。
とても簡単にドロワーメニューを実装できます。
以前紹介した「Drawer」はスクリプトファイル以外にも専用のスタイルシート読み込みましたが、SildeRevealはスクリプトファイルの読み込みだけなので、独自のスタイルを簡単に設定できることが特徴です。
[kanren postid=”411″]
導入方法
ダウンロード
公式サイトにアクセスしてzipファイルをダウンロードしましょう。
zipファイルを展開してjquery.slidereveal.min.jsを適当なディレクトリに配置してください。
コード
jQueryとSlideRevalを読み込みます。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script src="jquery.slidereveal.min.js"></script>
ドロワー部分のHTMLとトリガーとなるボタンのHTMLを記述します。
ドロワー部分のidにsliderを、トリガーとなるボタンのidにtriggerを記述してください。
<!-- ドロワー部分 -->
<nav id="slider">
<h2>Hello World!!</h2>
<ul>
<li><a href="#">メニュー1</a></li>
<li><a href="#">メニュー2</a></li>
<li><a href="#">メニュー3</a></li>d
</ul>
</nav>
<!-- ドロワー表示・非表示ボタン -->
<button id="trigger">ドロワー表示・非表示</button>
続いて、ドロワー部分がわかりやすいように、cssで背景色を設定します。
nav{
background: #eee;
}
最後に、SlideReval用のスクリプトを記述します。
id=”#trigger”をクリックすると id=”slider” が表示されたり、非表示になったりします。
また、ドロワーが開いた状態でESCキーを押すと、ドロワーが閉じます。
$('#slider').slideReveal({
trigger: $("#trigger")
});
[btn class=”rich_pink”]デモ確認へ[/btn]
よく使う機能
イベント
SlideRevealではドロワーの表示・非表示のイベントを取得することができます。
取得できるイベントは以下の4つです。
- ドロワーが表示された直後
- ドロワーが非表示になった直後
- ドロワーが表示される直前
- ドロワーが非表示になる直前
$('#slider').slideReveal({
trigger: $("#trigger"),
shown: function (slider, trigger) {
alert("ドロワーが表示された直後");
},
hidden: function (slider, trigger) {
alert("ドロワーが非表示になった直後");
},
show: function (slider, trigger) {
alert("ドロワーが表示される直前");
},
hide: function (slider, trigger) {
alert("ドロワーが非表示になる直前");
}
});
[btn class=”rich_pink”]デモ確認へ[/btn]
メソッド
ドロワーの表示非表示はメソッドからでも操作することができます。
まずはHTMLのボタンを3つ作成します。
<button id="btn1">ボタン1[ドロワー表示・非表示]</button> <button id="btn2">ボタン2[ドロワー表示]</button> <button id="btn3">ボタン3[ドロワー非表示]</button>
続いて、SlideRevealを生成し、各ボタンをクリック時の処理を記述します。
//SlideRevealのオブジェクト生成
var slider = $('#slider').slideReveal();
//ボタン1をクリックしたとき、toggleを実行
$('#btn1').click(function () {
slider.slideReveal('toggle');
});
//ボタン2をクリックしたとき、ドロワー表示
$('#btn2').click(function () {
slider.slideReveal('show');
});
//ボタン3をクリックしたとき、ドロワー非表示
$('#btn3').click(function () {
slider.slideReveal('hide');
});
[btn class=”rich_pink”]デモ確認へ[/btn]
ドロワーをオーバーレイにする・右側にする
通常の設定だと、ドロワーは左から出てきて、コンテンツ全体がずれます。
「ドロワーは右から表示したい!」
「オーバーレイにしたい!」
という方もいるでしょう。
これらの設定も簡単に行うことができます。
javascriptを下記のように記述してください。
$('#slider').slideReveal({
trigger: $("#trigger"),
//右側から表示
position: 'right',
//オーバーレイにする
overlay: true
});
他にもオプションはあるので、興味のある方はいじってみてください。
[btn class=”rich_pink”]デモ確認へ[/btn]
関連記事
[kanren postid=”411″]
[kanren postid=”401″]

コメント