PROGRAMMING
javascript
- ページャーを作る(簡易版)
- ページャーを作る 4/4
(クロスブラウザ対策)
(ページャー表示用メソッド)
(ページャーの使い方) - ページャーを作る 3/4
(イベント登録) - ページャーを作る 2/4
(スタイルの設定) - ページャーを作る 1/4
(ページャー用関数を準備)
(各要素を生成) - 自作カレンダーを作る 6/6
(11.~14.各種メソッド)
(15.簡単な使い方) - 自作カレンダーを作る 5/6
(09.祝休日の判定)
(10.閏年の判定) - 自作カレンダーを作る 4/6
(08.イベントの設定) - 自作カレンダーを作る 3/6
(07.スタイルの設定) - 自作カレンダーを作る 2/6
(05.カレンダーのマスのみ作成)
(06.各マスへ年月・日付を埋め込み) - 自作カレンダーを作る 1/6
(01.カレンダーの基を準備)
(02.各月の日数や年月日の区切り文字)
(03.前月・次月指定時の処理)
(04.前月・次月部分の年月を算出) - JS-Image-Resizerを使って画像を高画質で縮小
- ファイルを作成しローカルに保存
- モーダルウィンドウをクラス化
- ストップウォッチを作る
- XMLHttpRequest Lebel2を試してみる
- jQuery:Tableで親・子・兄弟要素を取得
- 文字列をセパレータ文字で分割し配列で返す関数
- forループのカウンタを使用している関数の定義
- クロージャの使いどころ
- JSONPでクロスドメイン
- AjaxでJSON形式のデータを扱う
- jsファイルからjsファイルを呼び出す
- jQuery:モーダルウィンドウを作ってみる
CSS
- フォルダ構成をCSSで見やすくする
- シンタックスハイライトPrismのカスタマイズ
- リスト(li)を中央に配置する
- ブロックレベル要素全体をリンクにする
- 実践と点線の交わり部分のギザギザをすっきりさせる
PHP
Java
- IntelliJ.Gradle.JavaFX(6) プラグイン org.beryx.jlink を使ってみる
- IntelliJ.Gradle.JavaFX(5) NSISでインストーラーを作る
- IntelliJ.Gradle.JavaFX(4) exewrapで実行可能jarをexe化する
- IntelliJ.Gradle.JavaFX(3) Jlink でカスタム JRE を作る
- IntelliJ.Gradle.JavaFX(2) すべての依存対象を含んだ Fatjar を作る
- IntelliJ.Gradle.JavaFX(1) アプリケーションを作る
- javaのコンパイルと実行
- イメージを回転する
- Exif情報を簡単に取得できるライブラリ
- 高画質で画像縮小
- JDBCによるデータベース操作
ページャーを作る 1/4
サイトを構築していると必ずといっていいほどページャーが必要になってきます。
ブログなど日常的にコンテンツが増えるていくページは、ページ分けしなければ下にどんどん長くなり、非常に見ずらいものになります。
そこで、汎用性のあるページャーを作ってみました。
長いのでページを4分割でご紹介します。
-----2015.02.06(修正)-----
ページ数が多くなると希望のページへの移動が難しくなるので、中央部のページを10件単位でプラスマイナスできるように修正しました。
後、不要なコードなどもありましたので整理しました。
-----2015.06.21(修正)-----
イベント登録のページ番号クリックで、先頭ページと最終ページをクリックした場合、中央のページ番号をそれぞれクリックした側に寄せられるように
修正しました。例えば、先頭ページ(1ページ)の場合はクリックしたら中央ページ番号が2ページから始まるように。(イベント登録 186行~199行追加)
ページャーを作る 1/4
1. ページャー用関数を準備
2. プロパティやメソッドの追加(各要素を生成)
ページャーを作る 2/4
3. プロパティやメソッドの追加(スタイルの設定)
ページャーを作る 3/4
4. プロパティやメソッドの追加(イベント登録)
ページャーを作る 4/4
5. プロパティやメソッドの追加(イベントのクロスブラウザ対策)
6. プロパティやメソッドの追加(ページャー表示用メソッド)
7. ページャーの使い方
MkenPagerのダウンロード(mkenPager.js)
mkenPager.zip
1.ページャー用関数を準備
最初にページャー用の関数を準備します。この関数にイベントやスタイルなどを追加していきます。
var MkenPager = function(tagId, totalRow, viewCount){
// ページャーの表示されるタグ
this.tagId = tagId;
// データの総件数
this.totalRow = Number(totalRow);
// 1ページに表示する件数
this.viewCount = Number(viewCount);
// 現在選択されているページの先頭データの行番号
this.currentRow = 1;
// 最終ページ番号
this.lastPageNum = Math.ceil(this.totalRow / this.viewCount);
};
引数を3個とる関数です。それぞれの引数の意味は、次のとおりです。
1. tagId:ページャーが表示されるHTMLタグのidです(例:<div id="paging"></div>)
2. totalRow:表示するデータの総件数です。
3. viewCount:1ページに表示したい件数です。
2.プロパティやメソッドの追加(各要素を生成)
前記の関数MkenPagerにプロパティやメソッドを追加していきます。プロトタイプ定義をオブジェクト形式で追加しています。
まずは各要素の生成です。
MkenPager.prototype = {
createHTML: function(){
// ページャーを囲む枠
var htmlStr = '<div id="' + this.tagId + 'Pager">';
// 前へボタン(子の空のdivは三角)
htmlStr += '<div id="' + this.tagId + 'Prev"><div></div></div>';
// マイナスボタン(中央部のページを10件マイナスする)
htmlStr += '<div id="' + this.tagId + 'Minus">-</div>';
// ページ表示部
htmlStr += '<ul id="' + this.tagId + 'PageNumGroup">';
// ページ番号を作成
var tmpTotalRow = this.totalRow;
// リストの数は10個で固定
for(var pageNum = 1; pageNum <= 10; pageNum++){
if(tmpTotalRow > 0){
if(pageNum == 10){
htmlStr += '<li>' + this.lastPageNum + '</li>';
}else{
htmlStr += '<li>' + pageNum + '</li>';
}
}else{
htmlStr += '<li class="' + this.tagId + 'nonePage"> </li>';
}
tmpTotalRow = tmpTotalRow - this.viewCount;
}
htmlStr += '</ul>';
// プラスボタン(中央部のページを10件プラスする)
htmlStr += '<div id="' + this.tagId + 'Plus">+</div>';
// 次へボタン(子の空のdivは三角)
htmlStr += '<div id="' + this.tagId + 'Next"><div></div></div>';
htmlStr += '</div>';
// フロートクリア
htmlStr += '<div id="' + this.tagId + 'clear"></div>';
var pagerContainer = document.getElementById(this.tagId);
pagerContainer.innerHTML = htmlStr;
},