ブログ

WEB制作に関する技術情報やサンプルコードからエクセルや
パワーポイントのお役立ち情報まで幅広くご紹介しています。

jQueryで開閉メニュー&ボタンのテキストを切り替える

開閉メニューのサンプルコードは、よく目にしますが、”ボタンのテキストを切り替える機能が付いた”サンプルコードは見つからなかったので自身のコピペ用に作成しました。

スマートフォン用サイトには重宝するかも。

> サンプル

javascript

[javascript]
<script type="text/javascript">
$(document).ready(function(){

$("#menu").hide();

var flg = "close";

$("#btn").click(function(){

$("#menu").slideToggle();

if(flg == "close"){
$(this).text("× メニューを閉じる");
flg = "open";
}else{
$(this).text("= メニューを表示");
flg = "close";
}
});
});
</script>
[/javascript]

CSS

[css]
<style type="text/css">
body{
width:400px;
margin:0 auto;
padding:0;
text-align:center;
}
#btn{
margin:20px 10px 0;
padding:10px;
cursor:pointer;
background: #EEE;
color: #444;
border-top: 1px solid #FFF;
border-left: 1px solid #FFF;
border-right: 1px solid #CCC;
border-bottom: 1px solid #CCC;
-moz-box-shadow: -1px -1px 1px rgba(000,000,000,0.3),1px 1px 1px rgba(255,255,255,1);
-webkit-box-shadow: -1px -1px 1px rgba(000,000,000,0.3),1px 1px 1px rgba(255,255,255,1);
}
#menu{
margin:10px;
text-align:left;
}
#menu ul,
#menu li{
margin:0;
padding:0;
list-style-type:none;
}
#menu li a{
display:block;
padding:5px 0;
color: #444;
border-bottom: 1px solid #ccc;
text-decoration:none;
}
</style>
[/css]

HTML

[html]
<div id="btn">= メニューを表示</div>

<div id="menu">
<ul>
<li><a href="#">メニュー</a></li>
<li><a href="#">メニュー</a></li>
<li><a href="#">メニュー</a></li>
<li><a href="#">メニュー</a></li>
<li><a href="#">メニュー</a></li>
<li><a href="#">メニュー</a></li>
<li><a href="#">メニュー</a></li>
</ul>
</div>
[/html]

投稿日
2013年4月17日
カテゴリー
JavaScript

“jQueryで開閉メニュー&ボタンのテキストを切り替える” への4件のフィードバック

  1. […] ができた。 今回わからなかったのが、ボタンのテキストを入れ替えるやり方。やっと見つけた「jQueryで開閉メニュー&ボタンのテキストを切り替える」という記事が大変参考になった。 […]

  2. jump-up より:

    お世話になります。こちらを参考にトグルボタンで開閉する記事を自分の覚書も含めて作成したのですが、複数設置して開いたまま次のボタンをクリックすると「開く」「閉じる」が逆になったりするのですが、何か良い対処方法というのはあるのでしょうか?もしよろしければご教授ください。なお、設置したページはこちらです。http://jump-up.info/jquery/jquery_toggle.html—
    jrumbleという要素を振動させるjqueryプラグインをサイトに設置したくサンプルを見ておりますとコード表示にtoggleを使用しており、自分も利用したくまた自分のサイトで利用したものは全部設置方法を記事にしているので、記事を書いた後自分でさわっていて気がつきました。
    どのように設置しているかは記事内にそのままのせております。
    失礼いたします。

    • blow-in より:

      ご紹介ありがとうございます。
      変数のflgがかぶっているために「open」なのか「close」なのかが判定できていないようなので、変数をユニークにしてあげるといいのではないでしょうか?
      サンプルページ内の変数を単純な形ですがユニークしておりますので、よろしければご確認ください。
      http://blow-in.net/blog/sample/jquery003.html

  3. jump-up より:

    おはようございます。昨夜遅くにコメントしたにもかかわらず、早々のご教授本当にありがとうございます。
    早速確認したいと思います。ありがとうございました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

デザイン&メディア事業blow→in
大阪府泉佐野市市場西3-2-34-306
TEL.072-493-3358(代)
[日根野オフィス]
大阪府泉佐野市日根野3963-3-403
TEL.072-468-8786
プリント事業HANDPURI
大阪府泉佐野市日根野4036-1
TEL.0120-610-322
アパレル事業DIGMO
大阪府大阪市西区南堀江1-22-1
TEL.070-9260-4982
ブランディング事業かつらぎフルーツ
和歌山県かつらぎ町東渋田325-4
TEL.090-3612-3401
飲食店事業cafeblow
大阪府泉佐野市日根野3963-3
TEL.090-5127-9187