⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 navigationbarlib.js

📁 一个功能比较强大(大多数人都没见过)、调用十分方便灵活、适合于B/S架构、思路别出心裁(坚决不与具体业务、具体数据源、具体列表相结合,能自定义文字信息和显示样子)。就算目前做得并非十全十美
💻 JS
📖 第 1 页 / 共 3 页
字号:
}

/*
*	生产状态信息内容
*	@param	statusPattern				//状态信息模板
*	@param	statusIdentityAndValue		//状态信息中的标识符和对应的值
*/
function genStatusContent(statusPattern, statusIdentityAndValue) {
	var retVal = statusPattern;
	var strIdentity = "";		//标识符
	var strVal = "";			//值
	if (statusIdentityAndValue.length == 0) {
		return "";
	}
	for (var i = 0; i < statusIdentityAndValue.length; i++) {
		strIdentity = statusIdentityAndValue[i].substring(0, statusIdentityAndValue[i].indexOf(","));
		strVal = statusIdentityAndValue[i].substring(statusIdentityAndValue[i].indexOf(",") + 1);
		retVal = retVal.replaceAll(strIdentity, strVal);
	}
	retVal = retVal.replace(/ /g, "&nbsp;");
	return retVal;
}

/*
*	校验并纠正页号输入框的值,只能数正整数
*/
function validateIt2(selfObj, nextObj) {
	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);
			}
		}
	}
	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 == "") {
		selfObj.focus();
	} else {
		if (event.keyCode == 13) {
			if (nextObj != undefined && nextObj) {
				nextObj.focus();
			}
		}
	}
}

/*
*	调整字符串
*/
function adjustStr(selfObj) {
	var content = selfObj.value;
	var arrSubStr = content.findAllSubStrRange("[", "]");
	var tempStr = "";
	for (var i = 0; i < arrSubStr.length; i++) {
		tempStr = arrSubStr[i].toUpperCase();
		while (true) {
			if (!isValidIdentity(tempStr)) {
				if (tempStr == "[]") {
					content = content.replaceAll(arrSubStr[i], "[]");
					break;
				} else {
					tempStr = tempStr.substring(0, tempStr.length - 2);
					tempStr += "]";
				}
			} else {
				content = content.replaceAll(arrSubStr[i], tempStr);
				break;
			}
		}
	}
	selfObj.value = content;
}

/*
*	判断是否为正确的标识符,如果正确返回true,否则返回false。
*/
function isValidIdentity(identity) {
	return __gNavigationBarObj.statusIdentities.hasStr(identity);
}

/*
*	更新预览
*/
function updatePreview() {
	__gNavigationBarForPreviewObj.setRecNumPerPage(__txtMaxCountPerPage.value);
	__gNavigationBarForPreviewObj.setNumOfDigitalsToShow(__txtDigitCountForShowing.value);
	__gNavigationBarForPreviewObj.arrPartForShowing.removeAll();
	for (var i = 0; i < __chkPart.length; i++) {
		if (__chkPart[i].checked) {
			__gNavigationBarForPreviewObj.arrPartForShowing.push(__chkPart[i].value);
		}
	}
	__gNavigationBarForPreviewObj.statusPattern = __taStatusSetting.value;
	__divNavigateBarForReview.innerHTML = __gNavigationBarForPreviewObj.genNavigationBarForPreview(__gNavigationBarForPreviewObj, __divNavigateBarForReview);
}

/*
*	设置状态信息模板
*/
function changeStatusPattern(selfObj) {
	if (selfObj.value == "自定义") {
		__taStatusSetting.readOnly = false;
	} else {
		__taStatusSetting.value = selfObj.value;
		__taStatusSetting.readOnly = true;
	}
}

function selectTR(selfObj) {
	var trObj = selfObj.parentNode.firstChild;
	while (trObj != null) {
		if (trObj.id != selfObj.id) {
			trObj.bgColor = "";
			trObj.selected = false;
			eval("__btnMoveUp" + trObj.value).style.display = "none";
			eval("__btnMoveDown" + trObj.value).style.display = "none";
		}
		trObj = trObj.nextSibling;
	}
	if (selfObj.bgColor == "") {
		selfObj.bgColor = '#00CCFF';
		selfObj.selected = true;
		eval("__btnMoveUp" + selfObj.value).style.display = "";
		eval("__btnMoveDown" + selfObj.value).style.display = "";
	} else {
		selfObj.bgColor = "";
		selfObj.selected = false;
		eval("__btnMoveUp" + selfObj.value).style.display = "none";
		eval("__btnMoveDown" + selfObj.value).style.display = "none";
	}
}

function moveUp(val) {
	var totalPartCount = __gArrOrder.length;
	var currentIndex = 0;
	for (var i = 0; i < totalPartCount; i++) {
		if (__gArrOrder[i] == val) {
			currentIndex = i;
		}
	}
	if (currentIndex == 0) {
		var temp = 0;
		temp = __gArrOrder[currentIndex];
		__gArrOrder[currentIndex] = __gArrOrder[totalPartCount - 1];
		__gArrOrder[totalPartCount - 1] = temp;
	} else {
		var temp = 0;
		temp = __gArrOrder[currentIndex];
		__gArrOrder[currentIndex] = __gArrOrder[currentIndex - 1];
		__gArrOrder[currentIndex - 1] = temp;
	}
	updateDisplayOrder();
}

function moveDown(val) {
	var totalPartCount = __gArrOrder.length;
	var currentIndex = 0;
	for (var i = 0; i < totalPartCount; i++) {
		if (__gArrOrder[i] == val) {
			currentIndex = i;
		}
	}
	if (currentIndex == (totalPartCount - 1)) {
		var temp = 0;
		temp = __gArrOrder[currentIndex];
		__gArrOrder[currentIndex] = __gArrOrder[0];
		__gArrOrder[0] = temp;
	} else {
		var temp = 0;
		temp = __gArrOrder[currentIndex];
		__gArrOrder[currentIndex] = __gArrOrder[currentIndex + 1];
		__gArrOrder[currentIndex + 1] = temp;
	}
	updateDisplayOrder();
}

function updateDisplayOrder() {
	var strHTML = "<table width=90% cellspacing=0 align=center style='font-size:13'>";
	for (var i = 0; i < __gArrOrder.length; i++) {
		strHTML += eval("__trOrder" + __gArrOrder[i]).outerHTML;
	}
	strHTML += "</table>";
	__divOrder.innerHTML = strHTML;
	__gNavigationBarForPreviewObj.arrOrder = __gArrOrder;
}

/*
*	调整div的位置
*/
function adjustPos(eleObj) {
	//execScript(test('a',['1','2']), "javascript");
	var eleTop = parseInt(eleObj.style.top);
	var eleLeft = parseInt(eleObj.style.left);
	var eleWidth = eleObj.clientWidth;
	var eleHeight = eleObj.clientHeight;
	var bodyTop = parseInt(document.body.clientTop);
	var bodyLeft = parseInt(document.body.clientLeft);
	var bodyWidth = document.body.clientWidth;
	var bodyHeight = document.body.clientHeight;
	
	var blnAdjustEleTopOK = false;
	var blnAdjustEleLeftOK = false;
	while (true) {	
		/*****************************调整上下位置,尽可能居中(开始)********************************/
		if ((eleTop + eleHeight) < (bodyTop + bodyHeight)) {
			var bottomSpace = Math.floor((bodyTop + bodyHeight) - (eleTop + eleHeight));
			if (eleTop > bottomSpace) {
				eleTop--;
				eleObj.style.top = eleTop;
			} else if (eleTop < bottomSpace) {
				eleTop++;
				eleObj.style.top = eleTop;
			} else {
				blnAdjustEleTopOK = true;
			}
			if (Math.abs(eleTop - bottomSpace) <= 1) {
				blnAdjustEleTopOK = true;
			}
		} else {
			if (eleTop > bodyTop) {
				eleTop--;
				eleObj.style.top = eleTop;
			} else {
				blnAdjustEleTopOK = true;
			}
		}
		/*****************************调整上下位置,尽可能居中(开始)********************************/
		
		/*****************************调整左右位置,尽可能居中(开始)********************************/
		if ((eleLeft + eleWidth) < (bodyLeft + bodyWidth)) {
			var rightSpace = Math.floor((bodyLeft + bodyWidth) - (eleLeft + eleWidth));
			if (eleLeft > rightSpace) {
				eleLeft--;
				eleObj.style.left = eleLeft;
			} else if (eleLeft < rightSpace) {
				eleLeft++;
				eleObj.style.left = eleLeft;
			} else {
				blnAdjustEleLeftOK = true;
			}
			if (Math.abs(eleLeft - rightSpace) <= 1) {
				blnAdjustEleLeftOK = true;
			}
		} else {
			if (eleLeft > bodyLeft) {
				eleLeft--;
				eleObj.style.left = eleLeft;
			} else {
				blnAdjustEleLeftOK = true;
			}
		}
		/*****************************调整左右位置,尽可能居中(结束)********************************/
		if (blnAdjustEleTopOK && blnAdjustEleLeftOK) {
			break;
		}
	}
}

function test(p1,p2) {
	//alert(p1);
	for (var i = 0; i < p2.length; i++) {
		alert(p2[i]);
	}
}

window.onresize = function() {
	adjustPos(document.all.__divSetting);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -