萬盛學電腦網

 萬盛學電腦網 >> 腳本專題 >> javascript >> JS特效代碼--下拉透明菜單

JS特效代碼--下拉透明菜單

 <script language="JavaScript">

var mmenus = new Array();
var misShow = new Boolean(); 
misShow=false;
var misdown = new Boolean();
misdown=false;
var mnumberofsub=0;
var musestatus=false;
var mpopTimer = 0;
mmenucolor='#89CB10';mfontcolor='MenuText';mmenuoutcolor='#ADEF34';mmenuincolor='#B5E74E';mmenuoutbordercolor='#ECFA3A';

mmenuinbordercolor='#5A2614';mmidoutcolor='#A9DA1D';mmidincolor='#799310';mmenuovercolor='#004080';mitemedge='0';msubedge='1';

mmenuunitwidth=66;mmenuitemwidth=140;mmenuheight=25;mmenuwidth='100%';mmenuadjust=0;mmenuadjustV=0;mfonts='font-family: 宋體; font-size: 9pt; color: MenuText; ';mcursor='hand';
var swipeSteps = 4;
var swipemsec = 25;
var swipeArray = new Array();
function swipe(el, dir, steps, msec) {
 if (steps == null) steps = swipeSteps;
 if (msec == null) msec = swipemsec;
 if (el.swipeIndex == null)
 el.swipeIndex = swipeArray.length;
 if (el.swipeTimer != null)
 window.clearTimeout(el.swipeTimer);
 swipeArray[el.swipeIndex] = el;
 el.style.clip = "rect(-99999, 99999, 99999, -99999)";
 if (el.swipeCounter == null || el.swipeCounter == 0) {
 el.orgLeft = el.offsetLeft;
 el.orgTop = el.offsetTop;
 el.orgWidth = el.offsetWidth;
 el.orgHeight = el.offsetHeight;
 }
 el.swipeCounter = steps;
 el.style.clip = "rect(0,0,0,0)";
 window.setTimeout("repeat(" + dir + "," + el.swipeIndex + "," + steps + "," + msec + ")", msec);
}
function repeat(dir, index, steps, msec) {
 el = swipeArray[index];
 var left = el.orgLeft;
 var top = el.orgTop;
 var width = el.orgWidth;
 var height = el.orgHeight;
 if (el.swipeCounter == 0) {
 el.style.clip = "rect(-99999, 99999, 99999, -99999)";
 return;
 }
 else {
 el.swipeCounter--;
 el.style.visibility = "visible";
 switch (dir) {
 case 2:
 el.style.clip = "rect(" + height*el.swipeCounter/steps + "," + width + "," + height + "," + 0 + ")";
 el.style.top = top - height*el.swipeCounter/steps;
 break;
 case 8:
 el.style.clip = "rect(" + 0 + "," + width + "," + height*(steps-el.swipeCounter)/steps + "," + 0 + ")";
 el.style.top = top + height*el.swipeCounter/steps;
 break;
 case 6:
 el.style.clip = "rect(" + 0 + "," + width + "," + height + "," + width*(el.swipeCounter)/steps + ")";
 el.style.left = left - width*el.swipeCounter/steps;
 break;
 case 4:
 el.style.clip = "rect(" + 0 + "," + width*(swipeSteps - el.swipeCounter)/steps + "," + height + "," + 0 + ")";
 el.style.left = left + width*el.swipeCounter/steps;
 break;
 }
 
 el.swipeTimer = window.setTimeout("repeat(" + dir + "," + index + "," + steps + "," + msec + ")", msec);
 }
}
var mtmpleft="";
var mtmptop="";
function hideSwipe(el) {
 window.clearTimeout(el.swipeTimer);
 el.style.visibility = "hidden";
 el.style.clip = "rect(-99999, 99999, 99999, -99999)";
 el.swipeCounter = 0;
 if(mtmpleft!="")el.style.left = mtmpleft;
 if(mtmptop!="")el.style.top = mtmptop;
}

function stoperror(){
return true;
}
window.onerror=stoperror;
function mpopOut() {
mpopTimer = setTimeout('mallhide()', 500);
}
function getReal(el, type, value) {
 temp = el;
 while ((temp != null) && (temp.tagName != "BODY")) {
 if (eval("temp." + type) == value) {
 el = temp;
 return el;
 }
 temp = temp.parentElement;
 }
 return el;
}

function mMenuRegister(menu) 
{
 mmenus[mmenus.length] = menu
 return (mmenus.length - 1)
}

function mMenuItem(caption,command,target,isline,statustxt,level,img,sizex,sizey,pos){
 this.items = new Array();
 this.caption=caption;
 this.command=command;
 this.target=target;
 this.isline=isline;
 this.statustxt=statustxt;
 if(level!=null){mnumberofsub++;
 this.hasc=mnumberofsub;}
 this.level=level;
 this.img=img;
 this.sizex=sizex;
 this.sizey=sizey;
 this.pos=pos;
}

function mMenu(caption,command,target,img,sizex,sizey,pos){
 this.items = new Array();
 this.caption=caption;
 this.command=command;
 this.target=target;
 this.img=img;
 this.sizex=sizex;
 this.sizey=sizey;
 this.pos=pos;
 this.id=mMenuRegister(this);
}
function mMenuAddItem(item)
{
 this.items[this.items.length] = item
 item.parent = this.id;
 this.children=true;
}

mMenu.prototype.addItem = mMenuAddItem;
mMenuItem.prototype.addsubItem = mMenuAddItem;

function mtoout(src){

src.style.borderLeftColor=mmenuoutbordercolor;
src.style.borderRightColor=mmenuinbordercolor;
src.style.borderTopColor=mmenuoutbordercolor;
src.style.borderBottomColor=mmenuinbordercolor;
src.style.backgroundColor=mmenuoutcolor;
src.style.color=mmenuovercolor;
}
function mtoin(src){

src.style.borderLeftColor=mmenuinbordercolor;
src.style.borderRightColor=mmenuoutbordercolor;
src.style.borderTopColor=mmenuinbordercolor;
src.style.borderBottomColor=mmenuoutbordercolor;
src.style.backgroundColor=mmenuincolor;
src.style.color=mmenuovercolor;
}
function mnochange(src){
src.style.borderLeftColor=mmenucolor;
src.style.borderRightColor=mmenucolor;
src.style.borderTopColor=mmenucolor;
src.style.borderBottomColor=mmenucolor;
src.style.backgroundColor='';
src.style.color=mfontcolor;

}
function mallhide(){
 for(var nummenu=0;nummenu<mmenus.length;nummenu++){
 var themenu=document.all['mMenu'+nummenu]
 var themenudiv=document.all['mmenudiv'+nummenu]
 mnochange(themenu);
 mmenuhide(themenudiv);
 }
 for(nummenu=1;nummenu<=mnumberofsub;nummenu++){ 
 var thesub=document.all['msubmenudiv'+nummenu] 
 msubmenuhide(thesub);
 mnochange(document.all['mp'+nummenu]);
 document.all["mitem"+nummenu].style.color=mfontcolor;
 }
}
function mmenuhide(menuid){
menuid.style.filter='Alpha(Opacity=100)';
hideSwipe(menuid);
misShow=false;
}
function msubmenuhide(menuid){
menuid.style.filter='Alpha(Opacity=100)';
menuid.style.visibility='hidden';
}
function mmenushow(menuid,pid){
menuid.style.filter='Alpha(Opacity=80)';
menuid.style.left=mposflag.offsetLeft+pid.offsetLeft+mmenuadjust;

copyright © 萬盛學電腦網 all rights reserved