Ajax Rico-コンテンツをアコーディオン形式表示

Ajax-全く勉強してなく詳しくはわかりません。勉強しなければならないと思いつつ置き去りのままです。ですがその機能的な部分に惹かれてつい使いたくなってしまいます。

ricotop.gif

今回はprototypeベースのRicoを使ってコンテンツをアコーディオン形式にていくつかに分けて表示してみることにしてみました。

このブログも情報コンテンツ部分が多々あるので、ゆくゆくはAjaxを導入しようと考えています。今回はエントリーにて試してみることに。実際にアコーディオン表示を使うのは初めてです。うまく表示されていればいいですが。


各タブをクリックすることでコンテンツが表示されます。

Ajaxの必要性

ユーザービリティーを考えた場合、下に長く続くページは、スクロールの面倒さ。前項目にすぐに戻れない。既読コンテンツを見失う、見つけにくいといったことを感じさせます。これを解消しようと考えたとき、Ajaxを使ってみるといいかと思いました。

自分の中では、今のところ「Ajaxはワンクリックでユーザーにストレスを感じさせることなく、コンテンツを読ませることができるツールである」という認識でいます。他にもいろいろと使い勝手はあると思いますが。

本来、長文コンテンツの場合、見出しを使っていくつかにコンテンツを区切ります。従来、ユーザービリティーを考えて、その各見出しの頭出しができるようにコンテンツトップ部分に<ul><li></li></ul><dl><dt></dt><dl></dl></dl>などのタグを使って同コンテンツ内でのナビゲーションリンクを生成や”上に戻る”などのリンク表示をしてきました。そんな手法もAjaxを使うことで手間の解消とユーザービリティー向上を図ることができると思います。

特に当ブログで情報発信しているMT系のエントリーはコード表示もしていますので、長文になってしまいます。エディタとしての才能がないのもあって、ユーザーにはわかりにくい部分が多々あり、もう一度既読部分を読み直すとか照らし合わせるといった感じではないかと思います。そんなときアコーディオン形式でコンテンツを分けてすぐに頭出しができれば、すぐに既読コンテンツの再確認にも役立つのではないかと思いました。

今回は、Ricoのアコーディオンを実際に使って、その使いやすさを堪能してみてください。もちろん使い方もご紹介します。

Ricoについて

うまく説明できませんが、prototypeをベースにAjaxを手軽に表現できるテンプレートとした捉え方でいいと思います。

ボックス角丸表示から背景のフェードアニメーション表示やアコーディオンタブ、コンテンツを任意の場所にドロップできる、長いリストを瞬時に表示できることなど様々な使い方ができます。

使うソースもとてもシンプルにされています。ベースのスクリプトもシンプルなんですが、コンテンツ内でのスクリプトがとってもシンプルなのでメンテナンスにもコードがわかりにくくなることがありません。

特にボックス角丸表示は、枠線の角丸指定もできることで使われている方も多いと思います。今回のアコーディオンも結構つかっている方がいると思います。

アコーディオン表示は、今のところ知る限りでRicoとYahoo UI Libraryを使ったソースがdeliciousの中でブックマークされています。

Rico
http://openrico.org/rico/home.page

ダウンロード

ダウンロードするソースは、二つです。Rico 1.1.2 と Prototype 1.4.0になります。リンク部分にマウスをあて、右クリックで「リンク先を名前をつけて保存」で、”rico.js””prototype.js”で保存します。あとは、自分のブログのフォルダの中にアップすればOKです。

無料ブログサービスをお使いの方は、そのままイメージ画像としてアップロードすることで使うことができます。

あとは、各ページの</head>前に

<script type="text/javascript" 
     src="保存先アドレス/prototype.js">
</script>
<script type="text/javascript" 
     src="保存先アドレス/rico.js">
</script>

上記を追加するだけになります。MovableTypeをお使いの方は、

<script type="text/javascript" 
     src="<$MTBlogURL$>prototype.js">
</script>
<script type="text/javascript" 
     src="<$MTBlogURL$>rico.js">
</script>

上記のコードを</head>前に追加します。

アコーディオン表示コード

コード解説

<div id="panel1">
	  <div id="panel1Header"  class="accordionTabTitleBar">
	  	<p>1コンテンツ頭出し</p>
	  </div>
	  	<div id="panel1Content" class="accordionTabContentBox">
			<div style="padding:5px">
				<p>1コンテンツ</p>
	  		</div>
		</div>
	</div>

<div id="panel1"></div>で各タブコンテンツを区切ります。

<div id="panel1Header" class="accordionTabTitleBar"></div>はタブタイトルです。

<div id="panel1Content" class="accordionTabContentBox"></div>はコンテンツになります。

コンテンツ毎にこのテンプレートコードで区切ります。idセレクタの中の番号指定も忘れずに。

すべてのコンテンツを<div id="accordionExample"></div>でくくります。

最後に<script> { new Rico.Accordion( 'accordionExample', {panelHeight:400} ); } </script>を追加して表示されるようになります。

{ new Rico.Accordion( 'accordionExample', {panelHeight:400} ); } について

accordionExampleは、アコーディオンを表示するセレクタ指定のあるブロック要素を指定します。

panelHeight:400は、アコーディオンのデフォルト表示での高さ指定です。

一般的なWEBサイト表示寸法が800×640が主流なので、640以下で設定するといいと思います。

コード使用での注意

各タブタイトル部分とコンテンツ部分は、padinng指定がされていません。コンテンツが窮屈に表示されます。CSSで独自に各div要素にpadinng指定すると表示が崩れます。

各div要素の中に要素を作り、その要素をCSSで指定するようにします。今回の紹介したコードでコンテンツ部分のみpadinng5px指定した要素を入れて表示しておきました。タブタイトル部分は、各自にて設定する必要があります。

各タブ背景・文字色の設定・枠の設定について

各セレクタのプロパティで指定することで表示を変えることができると思います。

もしくは、rico.jsのファイルの中の181行目から190行目の中の指定を変更することでも可能です。

表示コンテンツについて

今回このエントリーもアコーディオンで表示しています。実際に他のブラウザ(safari・N7・opera)での表示確認をしていません。コンテンツが長くなった場合は、デフォルトでoverflowコンテンツはスクロール表示されます。

表示長さの指定ですが、パラーメーターの数値以上の長さ指定をすると表示が崩れるとあります。ちょっと未だパラーメーターについての知識が曖昧なのでどこの部分の数値かわかりませんが、また調べてご報告します。

トラックバック(0)

このブログ記事を参照しているブログ一覧: Ajax Rico-コンテンツをアコーディオン形式表示

このブログ記事に対するトラックバックURL: http://weblibrary.s224.xrea.com/x/mt/mt-tb.cgi/142

コメントする

アイテム

  • ff-logo-big

    ff-logo-big: firefoxロゴ

  • fmtube_image

    fmtube_image: fmtubesキャッチイメージ

  • mock.jpg

    mock.jpg: fm+tubesのモックページ(デザインレイアウト)。最終的にはこのスタイルでマルチブログで展開してみる構想。

  • mtdeinfo

    mtdeinfo: Movabletypeを勉強するならこのサイト。サンプルファイルもあって、情報も探しやすいです。とてもきれいに情報表示されていて、とても参考になります。

  • mytumblr

    mytumblr: 個人の趣味でのtumblrです。女性のポートレートなんかがおおいです

  • caputure_contextmenu

    caputure_contextmenu: tumblr caputureを右クリックコンテキストメニューで選択する

  • tumblrgallery

    tumblrgallery: tumblrを使ってWEBデザインGalleryを簡単に作ってみました。

  • psdtuts

    psdtuts: http://psdtuts.com/のイメージ画像

  • designflavor.

    designflavor.: http://www.designflavr.com/のイメージ

  • entrymain_template

    entrymain_template: ブログ記事の概要は、インデックステンプレート、ブログ記事のリスト(アーカイブテンプレート)、検索結果(システムテンプレート)の3つのテンプレートで共通に使われています。それぞれのテンプレートでの表示内容の違いをイメージに表してみました。

このブログ記事について

このページは、スカイが2006年10月 5日 05:50に書いたブログ記事です。

ひとつ前のブログ記事は「国内スーパーカー 光岡自動車 オロチ」です。

次のブログ記事は「Yahoo! UKが選ぶ ベストサイト100」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。