Movable Type 備忘録
jQueryでページ分割
- Prev Page: jQueryで横スライドなメニューを表示する
- Next Page: jQueryでフォーム入力エラー時にブルブルさせてみる
こんばんわ^^
日本代表負けてしまいましたね。
韓国の選手は 10 人にも関わらずです。1 点も入れられないなんて・・・(つω-`。)
勝負は時の運!! 運がなかったということで、気持ちを切り替えて次はがんばって欲しいのココロ。
応援してますからぁ~ ( ̄∇ ̄)/
さて、今回は jQeury を使ってページ分割するカスタマイズに TRY してみましたのでご紹介します。
ページ分割といっても、PHP によるページ分割と違って、ページ内のテキストを表示(見た目)上ページ分割しているだけです。
まぁ、そこら辺は JavaScript なのでしょうがないですよね。
いつものようにyoumosさんのところで、紹介されてた文章をページ分割するjQueryプラグインJavaScrip (pager)を実際にやってみたカスタマイズです。
まずはサンプルですね。
サンプル
上記サンプルは、わたしのサイトの Customize カテゴリのエントリ一覧をページ分割した例です。
ページ分割するには、pager jQuery plug-in で配布されている、jQuery のプラグインを使用します。
ディレクトリ構成
http://●●●.com/|+-- js/| +-- jquery/| | +-- plugins/| | | +-- jquery.pager.js| | || | +-- jquery.js| |
カスタマイズ
まずはプラグインをアップロードします。
こちらから jquery.pager.js をダウンロードして、上記ディレクトリ構成のようにアップロードします。jQuery はDownloading jQueryから入手できます。
次に構造を説明します。
基本的には以下のような構造になっています。<div id="example1"><p>Page 1 Contents...</p><p>Page 2 Contents...</p>::<p>Page N Contents...</p></div>
青い字で囲われた、赤い字の部分がページに相当します。
たとえば、上記サンプルでは以下のような構造になっています。<div id="entries-block"><ul><li><a href="●●●" title="□□□">■■■</a></li><li><a href="●●●" title="□□□">■■■</a></li></ul><ul><li><a href="●●●" title="□□□">■■■</a></li><li><a href="●●●" title="□□□">■■■</a></li></ul></div>
青い字で囲われた(<div id="entries-block">~</div>)、赤い字の部分(<ul>~</ul>)がページに相当します。
具体的には PHP で各ページの区切り(<ul>~</ul>)を作っています。<?php $cnt = 0; $close = 0; ?><div id="entries-block"><MTEntries category='012Customize( カスタマイズ )'><?php if (!($cnt++ % 20)) {echo "<ul>\n"; $close = 1;} ?><li><a href="<$MTEntryPermalink$> title="<$MTEntryTitle$>"><$MTEntryTitle$></a></li><?php if (!($cnt % 20)) {echo "</ul>\n"; $close = 0;} ?></MTEntries><?php if ($close) echo "</ul>\n"; ?></div>
次に jquery.pager.js のオプションについて説明します。
上記サンプルでは以下のようなコードでページ分割されています。$('#entries-block').pager('ul', {navId: 'navi_entries',navAttach: 'prepend',prevText: '« Previous',nextText: 'Next »',linkWrap: '<span></span>',highlightClass: 'highlight'});
navId
ページ分割時のナビバーのブロック ID を指定します。省略時は 'nav' となります。navAttach
ページ分割時のナビバーの位置を指定します。'prepend' と 'before' が上部にレイアウトされて、'append' と 'after' が下にレイアウトされます。
デフォルトは 'append' です。prevText
nextText
ページ分割時の 'Next' / 'Prev' リンクを、任意のテキストで表示させることができます。デフォルトではそれぞれ、'«'、'»' になります。linkWrap
ページ分割時のナビバーを任意のタグでラッパーすることができます。
サンプルでは、<span></span> で各ページのリンクをラッパーしてます。highlightClass
ページ分割時の、カレントページを強調するためのクラス名称を指定することができます。デフォルトは 'highlight' になります。たとえばサンプルだと、<span class="highlight">~</span> となります。
上記以外に、'navClass' や 'height' がありますが、サンプルでは使用していません。
最後に CSS です。
サンプルの CSS は以下の通りです。#navi_entries {/* ナビバーのスタイル */}#navi_entries span {/* 各ページリンクのスタイル */margin: 0 0.2em;}#navi_entries .highlight {/* ハイライト時のスタイル */background-color: #ff0000;}
以上です。
配布元でも複数のサンプルが明記されてますし、オプションについてもカンタンに説明されてますので、問題なく使えると思います ( ̄∇ ̄)b
Trackback Pings(0)
No trackbacks found.
Comments(0)
No comments found.




Post a Comment