?? jquery.jpage.js.bak
字號:
/**
* jpage for jQuery分頁插件
* 功能:指定頁數內靜態分頁,超過指定頁數后ajax請求下一組靜態分頁
* @author 陳健
* @version 1.0 beta 5
* @date 2008-07-08
* @param config 插件配置
*/
jQuery.fn.jpage = function(config){
init("#"+this.attr("id"),config);
/**
* 初始化,主程序
* @param t 容器的ID,帶#號
* @param config 插件配置
*/
function init(t,config){
//公有變量
if(!t) return;
var dataStore = config.dataStore; //數據
var totalRecord = config.totalRecord > 0 ? config.totalRecord : 0; //總記錄數
if(totalRecord == 0){
$(t).css("text-align","center");
$(t).css("line-height","50px");
$(t).html("很遺憾,沒有檢索到任何記錄!");
return;
}
var openCookies = config.openCookies != null ? config.openCookies : true;
var configPage = config.perPage > 0 ? config.perPage : 10;
var perPage = !openCookies || $.cookie(t+"_perPage") == null ? configPage : parseInt($.cookie(t+"_perPage"));//每頁顯示記錄數
var proxyUrl = config.proxyUrl != null ? config.proxyUrl : 'GetDataServer.aspx'; //數據代理地址
var groupSize = config.groupSize; //組大小
var barPosition = config.barPosition == null || config.barPosition == ""? 'bottom' : config.barPosition; //工具條位置
var ajaxParam = config.ajaxParam; //ajax的請求參數
var showMode = config.showMode == null || config.showMode == '' ? 'full' : config.showMode; //顯示模式
var themeName = config.themeName == null || config.themeName == '' ? 'default' : config.themeName; //主題名稱
var dataBefore = config.dataBefore == null ? '' : config.dataBefore;
var dataAfter = config.dataAfter == null ? '' : config.dataAfter;
//私有變量
var totalPage = Math.ceil(totalRecord/perPage); //總頁數
var currentPage = !openCookies || $.cookie(t+"_currentPage") == null ? 1 : parseInt($.cookie(t+"_currentPage"));//當前頁碼
var startRecord; //每頁起始記錄
var endRecord; //每頁結束記錄
var gpStartPage; //組開始頁
var gpEndPage; //組結束頁
var gpStartRecord = 1; //組開始記錄
var gpEndRecord; //組結束記錄
//數據容器
var container = '<div class="'+themeName+'_pgContainer"></div>'
//添加工具條
var toolbar = '<table width="100%" border="0" cellpadding="0" cellspacing="0" class="'+themeName+'_pgToolbar"><tr><td>';
toolbar += '<table border="0" cellspadding="0" cellspacing="0" class="'+themeName+'_pgPanel"><tr>';
if(showMode == 'full'){
toolbar += '<td valign="middle"><select class="'+themeName+'_pgPerPage" title="每頁顯示條數">';
if(config.perPage>0)
toolbar += '<option value="'+config.perPage+'">'+config.perPage+'</option>';
toolbar += '<option value="10">10</option>';
toolbar += '<option value="15">15</option>';
toolbar += '<option value="20">20</option>';
toolbar += '<option value="25">25</option>';
toolbar += '<option value="30">30</option>';
toolbar += '<option value="40">40</option>';
toolbar += '<option value="60">60</option>';
toolbar += '<option value="80">80</option>';
toolbar += '<option value="100">100</option>';
toolbar += '</select> </td>';
toolbar += '<td valign="middle"><div class="'+themeName+'_separator"></div></td>';
}
toolbar += '<td valign="middle"><div class="'+themeName+'_pgBtn '+themeName+'_pgFirst" title="首頁"></div></td>';
toolbar += '<td valign="middle"><div class="'+themeName+'_pgBtn '+themeName+'_pgPrev" title="上頁"></div></td>';
if(showMode == 'full'){
toolbar += '<td valign="middle" width="10" align="left"><div class="'+themeName+'_separator"></div></td>';
toolbar += '<td valign="middle">第 <input class="'+themeName+'_pgCurrentPage" type="text" value="' + currentPage + '" title="頁碼" /> 頁 / 共 <span class="'+themeName+'_pgTotalPage">' + totalPage + '</span> 頁</td>';
toolbar += '<td valign="middle" width="10" align="right"><div class="'+themeName+'_separator"></div></td>';
}else if(showMode == 'normal'){
toolbar += '<td valign="middle"><div class="'+themeName+'_separator"></div></td>';
toolbar += '<td valign="middle"> <input class="'+themeName+'_pgCurrentPage" type="text" value="' + currentPage + '" title="頁碼" /> / <span class="'+themeName+'_pgTotalPage">' + totalPage + '</span> 頁</td>';
toolbar += '<td valign="middle"><div class="'+themeName+'_separator"></div></td>';
}
toolbar += '<td valign="middle"><div class="'+themeName+'_pgBtn '+themeName+'_pgNext" title="下頁"></div></td>';
toolbar += '<td valign="middle"><div class="'+themeName+'_pgBtn '+themeName+'_pgLast" title="尾頁"></div></td>';
if(groupSize){
toolbar += '<td valign="middle"><div class="'+themeName+'_separator"></div></td>';
toolbar += '<td valign="middle"><div class="'+themeName+'_pgBtn '+themeName+'_pgRefresh" title="刷新"></div></td>';
}
if(showMode == 'full'){
toolbar += '<td valign="middle" width="10" align="left"><div class="'+themeName+'_separator"></div></td>';
toolbar += '<td valign="middle" class="'+themeName+'_pgSearchInfo">檢索到 ' + totalRecord + ' 條記錄,顯示第 <span class="'+themeName+'_pgStartRecord">' + startRecord + '</span> 條 - 第 <span class="'+themeName+'_pgEndRecord">' + endRecord + '</span> 條記錄</td>';
}
toolbar += '</td></tr></table>';
toolbar += '</td></tr></table>';
if(configPage<totalRecord)
switch(barPosition){
case 'top':
$(t).html(toolbar+container);
break;
case 'bottom':
$(t).html(container+toolbar);
break;
default:
$(t).html(toolbar+container+toolbar);
}
else
$(t).html(container);
var btnRefresh = $(t+" ."+themeName+"_pgRefresh"); //刷新按鈕
var btnNext =$(t+" ."+themeName+"_pgNext"); //下一頁按鈕
var btnPrev = $(t+" ."+themeName+"_pgPrev"); //上一頁按鈕
var btnFirst = $(t+" ."+themeName+"_pgFirst"); //首頁按鈕
var btnLast = $(t+" ."+themeName+"_pgLast"); //末頁按鈕
var btnGo = $(t+" ."+themeName+"_pgNext,"+t+" ."+themeName+"_pgLast");
var btnBack = $(t+" ."+themeName+"_pgPrev,"+t+" ."+themeName+"_pgFirst");
var btn = $(t+" ."+themeName+"_pgFirst,"+t+" ."+themeName+"_pgPrev,"+t+" ."+themeName+"_pgNext,"+t+" ."+themeName+"_pgLast");
var mask;
var valCurrentPage = $(t+" ."+themeName+"_pgCurrentPage");
var valStartRecord = $(t+" ."+themeName+"_pgStartRecord");
var valEndRecord =$(t+" ."+themeName+"_pgEndRecord");
var valContainer = $(t+" ."+themeName+"_pgContainer");
var valPerPage = $(t+" ."+themeName+"_pgPerPage");
var valTotalPage = $(t+" ."+themeName+"_pgTotalPage");
$(t+" ."+themeName+"_pgPerPage").attr("value",perPage);
getGroupStartEnd();
getStartEnd();
if(dataStore==null || perPage!=configPage)
getRemoteData();
else{
getStartEnd();
loadData();
refresh();
}
//刷新按鈕監聽
btnRefresh.bind("mousedown",pressHandler).bind("mouseup",unpressHandler).bind("mouseout",unpressHandler);
//刷新工具欄
refresh();
//按鈕監聽
btnNext.click(
function(){
if(currentPage < totalPage){
if(!dataStore || currentPage == gpEndPage){
currentPage += 1;
getGroupStartEnd();
getStartEnd();
getRemoteData();
}else{
currentPage += 1;
getStartEnd();
loadData();
refresh();
}
}
}
);
btnPrev.click(
function(){
if(currentPage > 1){
if(!dataStore || currentPage == gpStartPage){
currentPage -= 1;
getGroupStartEnd();
getStartEnd();
getRemoteData();
}else{
currentPage -= 1;
getStartEnd();
loadData();
refresh();
}
}
}
);
btnFirst.click(
function(){
if(!dataStore || currentPage > 1){
if(gpStartPage > 1){
currentPage = 1;
getGroupStartEnd();
getStartEnd();
getRemoteData();
}else{
currentPage = 1;
getStartEnd();
loadData();
refresh();
}
}
}
);
btnLast.click(
function(){
if(!dataStore || currentPage < totalPage){
if(gpEndPage > 0 && gpEndPage < totalPage){
currentPage = totalPage;
getGroupStartEnd();
getStartEnd();
getRemoteData();
}else{
currentPage = totalPage;
getStartEnd();
loadData();
refresh();
}
}
}
);
btnRefresh.click(
function(){
getGroupStartEnd();
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -