📄 base.js
字号:
}
var borderBottomHeight = Element.getStyle(menu, "borderBottomWidth");
if(borderBottomHeight && parseInt(borderBottomHeight)){
borderHeight += parseInt(borderBottomHeight);
}
menu.style.width = menuWidth + "px";
if(!pm.directType){
pm.directType = "BL";
}
if(menu.offsetHeight > pm.maxHeight){
menu.style.height = pm.maxHeight + "px";
}else{
menu.style.height = menu.offsetHeight - borderHeight + "px";
}
pm.menuWidth = Element.getWidth(menu);//parseInt(menu.style.width);
pm.menuHeight = Element.getHeight(menu); //parseInt(menu.style.height);
if (browser.isIE) {
var iframeEl = document.createElement("IFRAME");
iframeEl.frameBorder = 0;
iframeEl.src = "javascript:false;";
iframeEl.style.display = "none";
iframeEl.style.position = "absolute";
iframeEl.style.filter = "progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)";
iframeEl.style.zIndex = 99;
pm.iframeEl = menu.parentNode.insertBefore(iframeEl, menu);
iframeEl.style.height = pm.menuHeight + "px"; //(menu.offsetHeight > menu.maxHeight? menu.maxHeight: menu.offsetHeight) + "px";
iframeEl.style.width = pm.menuWidth + "px";
}
}
function showMenu(pm){
var menu = pm.menu;
var button = pm.button;
var buttonOff = getOffset(button);
var browserOffset = getBrowserOffset();
if(pm.directType == "BL"){
pm.menuLeft = buttonOff.left;
if(buttonOff.left + pm.menuWidth > browserOffset.left + browserOffset.width){
pm.menuLeft = pm.menuLeft - (pm.menuWidth - button.offsetWidth);
}
pm.menuTop = buttonOff.top + button.offsetHeight;
if( (buttonOff.top + button.offsetHeight + menu.offsetHeight > browserOffset.top + browserOffset.height) && (buttonOff.top - pm.menuHeight > browserOffset.top) ){
pm.menuTop = buttonOff.top - pm.menuHeight;
}
}else if(pm.directType == "BC"){
pm.menuLeft = buttonOff.left - (pm.menuWidth - button.offsetHeight)/2;
pm.menuTop = buttonOff.top + button.offsetHeight;
if( (buttonOff.top + button.offsetHeight + pm.menuHeight > browserOffset.top + browserOffset.height) && (buttonOff.top - pm.menuHeight > browserOffset.top) ){
pm.menuTop = buttonOff.top - pm.menuHeight;
}
}else if(pm.directType == "BR"){
pm.menuLeft = buttonOff.left + button.offsetWidth - pm.menuWidth;
if(buttonOff.left - pm.menuWidth < 0){
pm.menuLeft = buttonRef.left;
}
pm.menuTop = buttonOff.top + button.offsetHeight;
if( (buttonOff.top + button.offsetHeight + pm.menuHeight > browserOffset.top + browserOffset.height) && (buttonOff.top - pm.menuHeight > browserOffset.top) ){
pm.menuTop = buttonOff.top - pm.menuHeight;
}
}else if(pm.directType == "TL"){
pm.menuLeft = buttonOff.left;
if(buttonOff.left + pm.menuWidth > browserOffset.left + browserOffset.width){
pm.menuLeft = pm.menuLeft - (pm.menuWidth - button.offsetWidth);
}
pm.menuTop = buttonOff.top - pm.menuHeight;
if( buttonOff.top - pm.menuHeight < 0){
pm.menuTop = buttonOff.top + button.offsetHeight;
}
}else if(pm.directType == "TC"){
pm.menuLeft = buttonOff.left - (pm.menuWidth - button.offsetHeight)/2;
pm.menuTop = buttonOff.top - pm.menuHeight;
if( buttonOff.top - pm.menuHeight < browserOffset.left){
pm.menuTop = buttonOff.top + button.offsetHeight;
}
}else if(pm.directType == "TR"){
pm.menuLeft = buttonOff.left + button.offsetWidth - pm.menuWidth;
if(buttonOff.left - pm.menuWidth < browserOffset.left){
pm.menuLeft = buttonRef.left;
}
pm.menuTop = buttonOff.top - pm.menuHeight;
if( buttonOff.top - pm.menuHeight < browserOffset.top){
pm.menuTop = buttonOff.top + button.offsetHeight;
}
}else if(pm.directType == "LT"){
pm.menuLeft = buttonOff.left - pm.menuWidth;
if(buttonOff.left - pm.menuWidth < browserOffset.left){
pm.menuLeft = buttonOff.left + button.offsetWidth;
}
pm.menuTop = buttonOff.top;
if((buttonOff.top + pm.menuHeight > browserOffset.top + browserOffset.height) && (buttonOff.top - pm.menuHeight < browserOffset.top)){
pm.menuTop = buttonOff.top - pm.menuHeight + button.offsetHeight;
}
}else if(pm.directType == "LM"){
pm.menuLeft = buttonOff.left - pm.menuWidth;
if(buttonOff.left - pm.menuWidth < browserOffset.left){
pm.menuLeft = buttonOff.left + button.offsetWidth;
}
pm.menuTop = buttonOff.top - (pm.menuHeight - button.offsetHeight)/2;
}else if(pm.directType == "LB"){
pm.menuLeft = buttonOff.left - pm.menuWidth;
if(buttonOff.left - pm.menuWidth < browserOffset.left){
pm.menuLeft = buttonOff.left + button.offsetWidth;
}
pm.menuTop = buttonOff.top - pm.menuHeight + button.offsetHeight;
if(buttonOff.top -pm.menuHeight + button.offsetHeight < browserOffset.height){
pm.menuTop = button.locTop;
}
}else if(pm.directType == "RT"){
pm.menuLeft = buttonOff.left + button.offsetWidth;
if((buttonOff.left + button.offsetWidth + pm.menuWidth > browserOffset.left + browserOffset.width) && (buttonOff.left-pm.menuWidth > browserOffset.left)){
pm.menuLeft = buttonOff.left - pm.menuWidth;
}
pm.menuTop = buttonOff.top;
if((buttonOff.top + pm.menuHeight > browserOffset.top + browserOffset.height) && (buttonOff.top - pm.menuHeight <browserOffset.height)){
pm.menuTop = buttonOff.top - pm.menuHeight + button.offsetHeight;
}
}else if(pm.directType == "RM"){
pm.menuLeft = buttonOff.left + button.offsetWidth;
if((buttonOff.left + button.offsetWidth + pm.menuWidth > browserOffset.left + browserOffset.width) && (buttonOff.left-pm.menuWidth > browserOffset.left)){
pm.menuLeft = buttonOff.left - pm.menuWidth;
}
pm.menuTop = buttonOff.top - (pm.menuHeight - button.offsetHeight)/2;
}else if(pm.directType == "RB"){
pm.menuLeft = buttonOff.left + button.offsetWidth;
if((buttonOff.left + button.offsetWidth + pm.menuWidth > browserOffset.left + browserOffset.width) && (buttonOff.left-pm.menuWidth > browserOffset.left)){
pm.menuLeft = buttonOff.left - pm.menuWidth;
}
pm.menuTop = buttonOff.top - pm.menuHeight + button.offsetHeight;
if(buttonOff.top -pm.menuHeight + button.offsetHeight < browserOffset.height){
pm.menuTop = button.locTop;
}
}else{
alert("不支持该位置类型");
if(pm.iframeEl){
with (pm.iframeEl.style){
display='none';
visibility='hidden';
}
}
with (menu.style){
display='none';
visibility='hidden';
}
return;
}
if(pm.iframeEl){
with (pm.iframeEl.style){
display='block';
visibility='visible';
top = pm.menuTop+"px";
left = pm.menuLeft + "px";
width = pm.menu.offsetWidth + "px";
//height = pm.menuHeight + "px";
}
}
with (menu.style){
display='block';
visibility='visible';
top = pm.menuTop+"px";
left = pm.menuLeft + "px";
}
}
function hideMenu1(){
clearActivePopTimer();
activePopTimer = setTimeout("hideMenu2()", 800);
}
function hideMenu2(){
if (activePopInMenu == null){
if( activePopMenuId == null) return;
if( activePopMenu[activePopMenuId].iframeEl != null){
activePopMenu[activePopMenuId].iframeEl.style.visibility = "hidden";
}
activePopMenu[activePopMenuId].menu.style.visibility = "hidden";
Event.delEvent(activePopMenu[activePopMenuId], "onmouseout", hideMenu);
activePopMenuId = null;
}
}
function inMenu(event){
activePopInMenu = 'NoInMenu';
clearActivePopTimer();
}
function hideMenu(event){
if (activePopMenu == null)
return;
var el = getEventToElement(event);
if( el == null){
el = getEventSrcElement(event);
}
if(el == null || getContainerWith(el, "DIV", "menu") == null){
if( activePopMenuId == null) return;
if( activePopMenu[activePopMenuId].iframeEl != null){
activePopMenu[activePopMenuId].iframeEl.style.visibility = "hidden";
}
activePopMenu[activePopMenuId].menu.style.visibility = "hidden";
Event.delEvent(activePopMenu[activePopMenuId], "onmouseout", hideMenu);
activePopMenuId = null;
}
}
function hideActiveMenu(){
if (activePopMenu == null)
return;
if (activePopMenuId == null)
return;
if( activePopMenu[activePopMenuId].iframeEl != null){
activePopMenu[activePopMenuId].iframeEl.style.visibility = "hidden";
}
activePopMenu[activePopMenuId].menu.style.visibility = "hidden";
Event.delEvent(activePopMenu[activePopMenuId], "onmouseout", hideMenu);
activePopMenuId = null;
}
/*======================================end menu function================================================*/
/*=================== 设置png图片在ie浏览器下背景透明,firefox不需要 ==============================*/
function correctAllPNG()
{
for(var i=0; i<document.images.length; i++)
{
var img = document.images[i]
var imgName = img.src.toUpperCase()
if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
{
var imgID = (img.id) ? "id='" + img.id + "' " : ""
var imgClass = (img.className) ? "class='" + img.className + "' " : ""
var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
var imgStyle = "display:inline-block;line-height:1 !important;" + img.style.cssText
if (img.align == "left") imgStyle = "float:left;" + imgStyle
if (img.align == "right") imgStyle = "float:right;" + imgStyle
if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
var strNewHTML = "<span " + imgID + imgClass + imgTitle
+ " unselectable=\"on\" style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
+ "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>"
img.outerHTML = strNewHTML
i = i-1
}
}
}
if(browser.isIE && browser.version < 7){
Event.addEvent(window, "onload", correctAllPNG);
}
function correctPNG(Obj){
return;
if(browser.isIE && browser.version < 7){
var img = Obj;
if(!img.src)return;
var imgName = img.src.toUpperCase()
if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
{
var imgID = (img.id) ? "id='" + img.id + "' " : ""
var imgClass = (img.className) ? "class='" + img.className + "' " : ""
var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
var imgStyle = "display:inline-block;line-height:1 !important;" + img.style.cssText
if (img.align == "left") imgStyle = "float:left;" + imgStyle
if (img.align == "right") imgStyle = "float:right;" + imgStyle
if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
var strNewHTML = "<span " + imgID + imgClass + imgTitle
+ " unselectable=\"on\" style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
+ "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>"
img.outerHTML = strNewHTML
}
}
}
/*=================== end PNG 设置 ==============================*/
/****================================鼠标移动效果切换===========================*/
var StyleChange = Class.create();
StyleChange.prototype={
initialize : function (element, classPrefix) {
var sc = this;
sc.element = $(element);
if(!sc.element)return;
sc.classPrefix = classPrefix;
//设置默认样式mouseout
Element.classNames(sc.element).set(sc.classPrefix+"_mouseout");
Event.addEvent(sc.element, "onmouseover", sc.mouseover.bind(sc));
Event.addEvent(sc.element, "onmouseout", sc.mouseout.bind(sc));
Event.addEvent(sc.element, "onmousedown", sc.mousedown.bind(sc));
Event.addEvent(sc.element, "onmouseup", sc.mouseup.bind(sc));
},
mouseover: function(){
var sc = this;
Element.classNames(sc.element).set(sc.classPrefix+"_mouseover");
},
mouseout: function(){
var sc = this;
Element.classNames(sc.element).set(sc.classPrefix+"_mouseout");
},
mousedown: function(){
var sc = this;
Element.classNames(sc.element).set(sc.classPrefix+"_mousedown");
},
mouseup: function(){
var sc = this;
Element.classNames(sc.element).set(sc.classPrefix+"_mouseup");
}
}
/****================================end 鼠标移动效果切换===========================*/
// 检查textarea的最大长度;
function checkTextarea(objId,objName,maxLength){
if(Trim($(objId).value).length >= parseInt(maxLength)){
alert(objName + "的最大长度为:" + maxLength);
//$(objId).value = $(objId).value.substring(0,maxLength - 1);
return false;
}
return true;
}
// 滚动区
var Marquee = Class.create();
Marquee.prototype={
initialize : function(marqueeId){
var mq = this;
mq.body = $(marqueeId);
if(mq.body == null) return;
mq.direct = "top";
mq.interVal = 100;
mq.interValId = null;
mq.timerId = null;
mq.delayTime = 1000;
mq.step = 1;
mq.currScroll = 0;
mq.clientScroll = 0;
mq.scrollDistance = 0;
mq.initialized = false;
Event.addEvent(mq.body, "onmouseover", mq.mouseOver.bind(mq));
Event.addEvent(mq.body, "onmouseout", mq.mouseOut.bind(mq));
},
start : function(){
var mq = this;
if(mq.body == null) return;
var scrollFunc = mq.goon.bind(mq);
mq.timerId = setTimeout(scrollFunc, mq.delayTime);
},
mouseOver : function(){
var mq = this;
if(mq.interValId != null){
clearInterval(mq.interValId);
mq.interValId = null;
}
if(mq.timerId != null){
clearTimeout(mq.timerId);
mq.timerId = null;
}
},
mouseOut : function(){
var mq = this;
if(mq.currScroll == mq.clientScroll || mq.currScroll == 0){
var scrollFunc = mq.goon.bind(mq);
mq.timerId = setTimeout(scrollFunc, mq.delayTime);
}else{
var scrollFunc = mq.scroll.bind(mq);
mq.interValId = setInterval(scrollFunc, mq.interVal);
}
},
initMq: function(){
var mq = this;
if(mq.direct == "top" || mq.direct == "bottom"){
if(mq.body.offsetHeight == 0) return;
if(mq.clientScroll == 0){
mq.clientScroll = mq.body.offsetHeight;
}
if(mq.body.scrollHeight <= mq.clientScroll) return;
mq.body.innerHTML += mq.body.innerHTML;
mq.scrollDistance = mq.body.scrollHeight;
if(mq.direct == "bottom")
mq.body.scrollTop = mq.scrollDistance/2;
}else if(mq.direct == "left" || mq.direct == "right"){
if(mq.body.scrollWidth == 0) return;
if(mq.clientScroll == 0){
mq.clientScroll = mq.body.offsetWidth;
}
if(mq.body.scrollWidth <= mq.clientScroll) return;
mq.body.innerHTML += mq.body.innerHTML;
mq.scrollDistance = mq.body.scrollWidth;
mq.body.scrollLeft = 0;
if(mq.direct == "right")
mq.body.scrollLeft = mq.scrollDistance/2;
}else{
alert("不支持指定的滚动方向");
return;
}
mq.initialized = true;
},
goon : function(){
var mq = this;
if(!mq.initialized){
mq.initMq();
if(!mq.initialized)
return;
}
if(mq.timerId == null){
clearTimeout(mq.timerId);
}
var scrollFunc = mq.scroll.bind(mq, mq);
mq.interValId = setInterval(scrollFunc, mq.interVal);
},
scroll : function(){
var mq = this;
if(mq.direct == "top"){
mq.scrollTop();
}else if(mq.direct == "bottom"){
mq.scrollBottom();
}else if(mq.direct == "left"){
mq.scrollLeft();
}else if(mq.direct == "right"){
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -