📄 navigationbarlib.js
字号:
this.htmlPart1 += "<img src='" + this.icon.rricon + "' alt='后1页' width=9 height=9 style='cursor:hand' onClick='javascript:callFunc(" + this.callbackfunc + "," + totalPageNum + ", true);'> ";
} else if (endPageNo < totalPageNum)
{
this.htmlPart1 += "<img src='" + this.icon.rlicon + "' alt='后1页' width=5 height=9 style='cursor:hand' onClick='javascript:callFunc(" + this.callbackfunc + "," + (parseInt(this.currentPageNo)+1) + ", true);'> ";
this.htmlPart1 += "<img src='" + this.icon.rmicon + "' alt='后一代开始页' width=13 height=9 style='cursor:hand' onClick='javascript:callFunc(" + this.callbackfunc + "," + (parseInt(endPageNo)+1) + ", true);'> ";
this.htmlPart1 += "<img src='" + this.icon.rricon + "' alt='后1页' width=9 height=9 style='cursor:hand' onClick='javascript:callFunc(" + this.callbackfunc + "," + totalPageNum + ", true);'> ";
}
this.htmlPart1 += " </td>";
this.htmlPart2 = " <td>";
this.htmlPart2 += " <input id='__txtGoToPageNumForPreview' type=text size=2 onmouseOver='this.focus();' onKeyUp='validateIt(this, " + totalPageNum + ", document.all.__btnGoForPreview);' onBlur='validateIt(this, " + totalPageNum + ", document.all.__btnGoForPreview);'><input id='__btnGoForPreview' type=button value='go' onClick='callFunc(" + this.callbackfunc + ", document.all.__txtGoToPageNumForPreview.value, true);' disabled>";
this.htmlPart2 += " </td>";
this.htmlPart3 = " <td>";
this.htmlPart3 += genStatusContent(this.statusPattern, this.statusIdentityAndValue);
this.htmlPart3 += " </td>";
for (var i = 0; i < this.arrPartForShowing.length; i++) {
if (this.arrPartForShowing[i] == 1) {
strHTML += this.htmlPart1;
} else if (this.arrPartForShowing[i] == 2) {
strHTML += this.htmlPart2;
} else if (this.arrPartForShowing[i] == 3) {
strHTML += this.htmlPart3;
}
}
strHTML += "</tr>";
strHTML += "</table>";
if (navigationBarObj == undefined || divNavigationBar == undefined) {
alert("您错误地调用了genNavigationBarForPreview方法,翻页导航栏将失效并引发js错误!");
}
__gNavigationBarForPreviewObj = navigationBarObj;
__gDivNavigationBarForPreview = divNavigationBar;
return strHTML;
}
/*
* 设置的界面的HTML
*/
function getSettingHTML() {
var strHTML = "";
strHTML = "<div id='__divSetting' style='position:absolute; top:100; left:150; border:1; display:none;'>";
strHTML += " <table bgColor='#E7E4E6' width=90% cellspacing=0 cellpadding=0 style='border: 1px solid #000000;' >";
strHTML += " <tr bgColor='#6699FF'>";
strHTML += " <td style='font-size:14px; color:white; font-weight:800;' align=left> 翻页导航栏设置</td>";
strHTML += " <td width=5 align=right></td>";
strHTML += " </tr>";
strHTML += " <tr height=2><td colspan=2> </td></tr>";
strHTML += " <tr><td colspan=2>";
strHTML += " <table width=95% height=30 align=center cellspacing=0 cellpadding=0 >";
strHTML += " <tr>";
strHTML += " <td width=70 align=center valign=middle bgColor='#CCFFFF' style='border:1px solid #000000; font-weight:900; font-variant:small-caps; font-size:14px; color:#000000; cursor:hand'>常规设置</td>";
strHTML += " <td> </td>";
strHTML += " </tr>";
strHTML += " </table>";
strHTML += " <table width=95% height=220 align=center cellspacing=0 cellpadding=0 bgColor='#F2F1D9' style='border:1px solid #000000;'>";
strHTML += " <tr>";
strHTML += " <td align=center>";
strHTML += " <table width=90% height=98% cellpadding=0 cellspacing=0 >";
strHTML += " <tr><td> </td></tr>";
strHTML += " <tr><td align=left>";
strHTML += " <fieldset style='height:100%; color:#000000; boder-style:groove;'>";
strHTML += " <legend style='font-size:14'>基础数值设置</legend>";
strHTML += " <table width=90% align=center style='font-size:13'>";
strHTML += " <tr><td>每页记录数量:</td><td><input id='__txtMaxCountPerPage' type=text maxlength=5 size=2 onKeyUp='validateIt2(this, __txtDigitCountForShowing);' onBlur='validateIt2(this);updatePreview();' style='height:18; font-size:12'></td></tr>";
strHTML += " <tr><td>显示数字个数:</td><td><input id='__txtDigitCountForShowing' type=text maxlength=5 size=2 onKeyUp='validateIt2(this, __btnConfirm);' onBlur='validateIt2(this);updatePreview();' style='height:18; font-size:12'></td></tr>";
strHTML += " <tr><td>假设记录总数:</td><td>" + __gTotalRecCountForPreview + "</td></tr>";
strHTML += " </table>";
strHTML += " </fieldset>";
strHTML += " </td></tr>";
strHTML += " </table>";
strHTML += " </td>";
strHTML += " <td width=60% rowspan=2 align=left>";
strHTML += " <table width=98% height=95% cellpadding=0 cellspacing=0>";
strHTML += " <tr><td> </td></tr>";
strHTML += " <tr><td align=center>";
strHTML += " <fieldset style='height:100%; color:#000000; boder-style:groove;'>";
strHTML += " <legend style='font-size:14'>状态文字设置</legend>";
strHTML += " <table width=95% align=center style='font-size:13'>";
strHTML += " <tr><td><input name='__rdoStatusSetting' type=radio value='共 [T] 页,每页 [M] 条,当前为第 [C] 页,共 [TR] 条' onClick='changeStatusPattern(this);updatePreview();'></td><td>共 [T] 页,每页 [M] 条,当前为第 [C] 页,共 [TR] 条</td></tr>";
strHTML += " <tr><td><input name='__rdoStatusSetting' type=radio value='当前为第 [C] 页,每页 [M] 条,共 [T] 页,共 [TR] 条' onClick='changeStatusPattern(this);updatePreview();'></td><td>当前为第 [C] 页,每页 [M] 条,共 [T] 页,共 [TR] 条</td></tr>";
strHTML += " <tr><td><input name='__rdoStatusSetting' type=radio value='每页 [M] 条,共 [T] 页,当前为第 [C] 页,共 [TR] 条' onClick='changeStatusPattern(this);updatePreview();'></td><td>每页 [M] 条,共 [T] 页,当前为第 [C] 页,共 [TR] 条</td></tr>";
strHTML += " <tr><td><input name='__rdoStatusSetting' type=radio value='自定义' onClick='changeStatusPattern(this);updatePreview();'></td><td>自定义</td></tr>";
strHTML += " <tr><td colspan=2><textarea id='__taStatusSetting' cols=45 rows=4 onKeyUp='updatePreview();' onBlur='adjustStr(this);updatePreview();' readonly></textarea></td></tr>";
strHTML += " </table>";
strHTML += " </fieldset>";
strHTML += " </td></tr>";
strHTML += " </table>";
strHTML += " </td>";
strHTML += " </tr>";
strHTML += " <tr>";
strHTML += " <td align=center>";
strHTML += " <table width=90% height=100% cellpadding=0 cellspacing=0>";
strHTML += " <tr><td align=center>";
strHTML += " <fieldset style='height:100%'>";
strHTML += " <legend style='font-size:14'>筛选设置</legend>";
strHTML += " <div id='__divOrder'>";
strHTML += " <table width=90% cellspacing=0 align=center style='font-size:13'>";
strHTML += " <tr id='__trOrder1' value=1 onClick='selectTR(this);' selected=false><td><input name='__chkPart' type=checkbox value=1 onClick='updatePreview();'></td><td>第1部分</td><td width=50 align=right><input id='__btnMoveUp1' type=button value='↑' onClick='moveUp(1);updatePreview();' style='display:none'><input id='__btnMoveDown1' type=button value='↓' onClick='moveDown(1);updatePreview();' style='display:none'></td></tr>";
strHTML += " <tr id='__trOrder2' value=2 onClick='selectTR(this);' selected=false><td><input name='__chkPart' type=checkbox value=2 onClick='updatePreview();'></td><td>第2部分</td><td width=50 align=right><input id='__btnMoveUp2' type=button value='↑' onClick='moveUp(2);updatePreview();' style='display:none'><input id='__btnMoveDown2' type=button value='↓' onClick='moveDown(2);updatePreview();' style='display:none'></td></tr>";
strHTML += " <tr id='__trOrder3' value=3 onClick='selectTR(this);' selected=false><td><input name='__chkPart' type=checkbox value=3 onClick='updatePreview();'></td><td>第3部分</td><td width=50 align=right><input id='__btnMoveUp3' type=button value='↑' onClick='moveUp(3);updatePreview();' style='display:none'><input id='__btnMoveDown3' type=button value='↓' onClick='moveDown(3);updatePreview();' style='display:none'></td></tr>";
strHTML += " </table>";
strHTML += " </div>";
strHTML += " </fieldset>";
strHTML += " </td></tr>";
strHTML += " </table>";
strHTML += " </td>";
strHTML += " </tr>";
strHTML += " <tr>";
strHTML += " <td align=center colspan=2>";
strHTML += " <table width=97% height=95% cellpadding=0 cellspacing=0>";
strHTML += " <tr><td align=center>";
strHTML += " <fieldset style='height:100%'>";
strHTML += " <legend style='font-size:14'>预览</legend>";
strHTML += " <table width=100% align=center style='font-size:13'>";
strHTML += " <tr height=30><td><div id='__divNavigateBarForReview'></div></td></tr>";
strHTML += " </table>";
strHTML += " </fieldset>";
strHTML += " </td></tr>";
strHTML += " </table>";
strHTML += " </td>";
strHTML += " </tr>";
strHTML += " <tr><td> </td></tr>";
strHTML += " </table>";
strHTML += " <table width=90% height=50 align=center cellspacing=0 cellpadding=0 >";
strHTML += " <tr>";
strHTML += " <td align=right><input id='__btnConfirm' type=button value='确 定' onClick='confirmChangeIt()'> <input type=button value='取 消' onClick='cancelChangeIt()'></td>";
strHTML += " </tr>";
strHTML += " </table>";
strHTML += " </td></tr>";
strHTML += " </table>";
strHTML += "</div>";
return strHTML;
}
/*
* 调用回调方法,同时传递参数。
* @param func: 回调方法
* @param pageNo: 指定要去的页号
* @param isPreviewMode: 是否为预览模式
*/
function callFunc(func, pageNo, isPreviewMode) {
if (func && func instanceof Function) {
var startRowNum = 0;
var size = 0;
if (isPreviewMode) {
__gNavigationBarForPreviewObj.setCurrentPageNo(pageNo);
startRowNum = (__gNavigationBarForPreviewObj.getCurrentPageNo() - 1) * __gNavigationBarForPreviewObj.getRecNumPerPage() + 1;
size = __gNavigationBarForPreviewObj.getRecNumPerPage();
} else {
__gNavigationBarObj.setCurrentPageNo(pageNo);
startRowNum = (__gNavigationBarObj.getCurrentPageNo() - 1) * __gNavigationBarObj.getRecNumPerPage() + 1;
size = __gNavigationBarObj.getRecNumPerPage();
__gCurrentPageNo = pageNo;
}
if (__gArrParam.length == 0) {
execScript(func(startRowNum, size), "javascript");
} else {
var params = "";
for (var i = 0; i < __gArrParam.length; i++) {
params += "__gArrParam[" + i + "]" + ",";
}
if (params != "") { //去除最后的','
params = params.substring(0, params.length - 1);
}
execScript(eval("func(startRowNum, size," + params + ")"), "javascript");
}
if (isPreviewMode) {
__gDivNavigationBarForPreview.innerHTML = __gNavigationBarForPreviewObj.genNavigationBarForPreview(__gNavigationBarForPreviewObj, __gDivNavigationBarForPreview); /*to generate and display page navigation bar.*/
} else {
__gDivNavigationBar.innerHTML = __gNavigationBarObj.genNavigationBar(__gNavigationBarObj, __gDivNavigationBar); /*to generate and display page navigation bar.*/
}
}
}
/*
* 校验并纠正页号输入框的值
*/
function validateIt(selfObj, totalPageNum, btnGoElement) {
var strValue = selfObj.value;
var strNewValue = "";
for (var i = 0; i < strValue.length; i++) {
if (i == 0) {
if (strValue.charCodeAt(i) > 48 && strValue.charCodeAt(i) <= 57) {
strNewValue += strValue.charAt(i);
}
} else {
if (strValue.charCodeAt(i) >= 48 && strValue.charCodeAt(i) <= 57) {
strNewValue += strValue.charAt(i);
}
}
if (strNewValue != "") {
if (parseInt(strNewValue) > totalPageNum) {
strNewValue = strNewValue.substring(0, strNewValue.length - 1);
}
}
}
var str1 = "";
var blnSkipIt = true;
for (var i = 0; i < strNewValue.length; i++) {
if (strNewValue.charAt(i) == '0') {
if (!blnSkipIt) {
str1 += strNewValue.charAt(i);
}
} else {
blnSkipIt = false;
str1 += strNewValue.charAt(i);
}
}
selfObj.value = str1;
if (str1 != "") {
btnGoElement.disabled = false;
if (event.keyCode == 13) {
btnGoElement.click();
}
} else {
btnGoElement.disabled = true;
}
}
/*
* 设置对象的透明度
*/
function opacifyIt(objEle, degree) {
objEle.style.filter = "Alpha(Opacity=" + degree + ")";
var degreeForFireFox = degree * 1.0 / 100;
objEle.style.opacity = degreeForFireFox;
}
/*
* 显示设置界面
*/
function setOutlooking() {
__divSetting.style.display = "";
initDataOfSettingPage();
}
/*
* 初始化设置界面的内容
*/
function initDataOfSettingPage() {
__txtMaxCountPerPage.value = __gNavigationBarObj.recNumPerPage; //初始化每页最多记录数量
__txtDigitCountForShowing.value = __gNavigationBarObj.numOfDigitalsToShow; //初始化翻页导航栏上显示的数字个数
__taStatusSetting.value = __gNavigationBarObj.statusPattern; //初始化自定义文本区的值
/***********************初始化radio选项默认选中标记(开始)************************/
var blnAnyoneChecked = false;
for (var i = 0; i < __rdoStatusSetting.length; i++) {
if (__rdoStatusSetting[i].value == __gNavigationBarObj.statusPattern) {
__rdoStatusSetting[i].checked = true;
blnAnyoneChecked = true;
}
}
if (!blnAnyoneChecked) {
for (var i = 0; i < __rdoStatusSetting.length; i++) {
if (__rdoStatusSetting[i].value == '自定义') {
__rdoStatusSetting[i].checked = true;
__taStatusSetting.readOnly = false;
}
}
}
/***********************初始化radio选项默认选中标记(结束)************************/
/***********************初始化筛选部分的状态(开始)******************************/
for (var i = 0; i < __gNavigationBarObj.arrPartForShowing.length; i++) {
__chkPart[__gNavigationBarObj.arrPartForShowing[i] - 1].checked = true;
}
/***********************初始化筛选部分的状态(结束)******************************/
/***********************初始化预览部分(开始)***********************************/
__gNavigationBarForPreviewObj = __gNavigationBarObj;
__gNavigationBarForPreviewObj.setTotalRecCount(__gTotalRecCountForPreview);
__divNavigateBarForReview.innerHTML = __gNavigationBarForPreviewObj.genNavigationBarForPreview(__gNavigationBarForPreviewObj, __divNavigateBarForReview);
/***********************初始化预览部分(开始)***********************************/
}
/*
* 点击设置界面中的确定按钮,改变属性值,闭设置界面。
*/
function confirmChangeIt() {
__gNavigationBarObj = __gNavigationBarForPreviewObj;
__gNavigationBarObj.setCurrentPageNo(__gCurrentPageNo);
__gNavigationBarObj.setTotalRecCount(__gTotalRecCount);
__gDivNavigationBar.innerHTML = __gNavigationBarObj.genNavigationBar(__gNavigationBarObj, __gDivNavigationBar); /*to generate and display page navigation bar.*/
callFunc(__gNavigationBarObj.getCallbackfunc(), __gNavigationBarObj.getCurrentPageNo(), false); //重新调用回调方法以便刷新列表数据
}
/*
* 点击设置界面中的取消按钮,直接关闭设置界面。
*/
function cancelChangeIt() {
__divSetting.style.display = 'none';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -