超级susymenu实现top菜单

/* Susy Menu Class, version 2.0.0
* 2007 shaoyu su
*
* Susy-Menu Class is freely distributable .
*
*
*--------------------------------------------------------------------------*/
var CONTEXT_PATH='';
var NS = (navigator.appName=="Netscape")?true:false;
var EXCEPTION_INFO = {EvalError:'eval()use error',
RangeError:'num overflow',
ReferenceError:'illegal or no can identify num',
SyntaxError:'syntax parse error',
TypeError:'operate num type error',
URIError:'URI use error'
};
String.prototype.trim = function(){
return this.replace(/(^[\\s]*)|([\\s]*$)/g, "");
}
var menuItems = new Array();
Object.extend = function(destination, source) {
for (property in source) {
destination[property] = source[property];
}
return destination;
}
function Parameter(){
this.option = {
menuType:'0',
expandHeadImgUrl:'js/expandHead.gif',
expandBodyImgUrl:'',
expandFootImgUrl:'',
mergeHeadImgUrl:'js/mergeHead.gif',
mergeBodyImgUrl:'',
mergeFootImgUrl:'',
status:'merge',
headWidth:20,
bodyWidth:100,
footWidth:0,
height:20,
mLeft:15,
mTop:3,
fontFamily:'宋体',
fontSize:'12',
fontWeight:'normal',
fontStyle:'normal',
textAlign:'left',
color:'transparent',
gap:'2',
conBackImg:''
};
}
Parameter.prototype.setParameter=function(option){
this.option = Object.extend(this.option,option || {});
}
var lineN = 60;
Parameter.prototype.show=function(mainDivId,menus){
var mainDiv = null;
lineN = 62;
try{
if( mainDivId && mainDivId != '')mainDiv = document.getElementById(mainDivId);
if(mainDiv != null){
var midDiv = document.createElement('div');
midDiv.style.position="absolute";
midDiv.style.left=mainDiv.offsetLeft;
midDiv.style.top=mainDiv.offsetTop;
lineN = 70;
var itemWidth = parseInt(this.option.headWidth)+parseInt(this.option.bodyWidth)+parseInt(this.option.footWidth);
if(menus){
if(1 == parseInt(this.option.menuType)){
midDiv.style.width=menus.length * (itemWidth + parseInt(this.option.mLeft) + parseInt(this.option.gap)) + parseInt(this.option.mLeft)+30;
midDiv.style.border="1px solid green";
}
lineN = 77;
var openedMenuStr = getCookie("OpenedMenu");
for(var i=0;i0){
if(menuItems[this.index].option.status=='merge')
menuItems[this.index].changeSelfImg('expand');
}
if('1'==menuItems[this.index].option.menuType){
menuItems[this.index].startExpandTimer();
}
this.status = 'over';
}
}
};
this.midA.onmouseout=function(){
if(menuItems && menuItems[this.index]){
if(!this.status || this.status!='out'){
if(menuItems[this.index].children && menuItems[this.index].children.length>0){
menuItems[this.index].changeSelfImg(menuItems[this.index].option.status);
}
if('1'==menuItems[this.index].option.menuType){
menuItems[this.index].startMergeTimer();
}
this.status = 'out';
}
}
};
this.menuDiv.onmouseover=function(){
if('1'!=menuItems[this.index].option.menuType)return;
if(menuItems[this.index].timer){
window.clearTimeout(menuItems[this.index].timer);
menuItems[this.index].timer=null;
}
menuItems[this.index].mouseOver=true;
//if(menuItems[this.index].superior)menuItems[this.index].superior.startExpandTimer();
}
this.menuDiv.onmouseout=function(){
if('1'!=menuItems[this.index].option.menuType)return;
menuItems[this.index].startMergeTimer();
}

if(NS)
this.headImg.setAttribute('style','float:left');
else
this.headImg.style.styleFloat='left';
this.headImg.style.width = this.option.headWidth;
this.headImg.style.height = this.option.height;
this.headImg.style.backgroundColor=this.option.color;
this.headImg.style.backgroundRepeat='no-repeat';
this.headImg.style.backgroundPosition='0 50%';

if(NS)
this.bodyDiv.setAttribute('style','float:left');
else
this.bodyDiv.style.styleFloat='left';
this.bodyDiv.style.width = this.option.bodyWidth;
this.bodyDiv.style.height = this.option.height;
this.bodyDiv.style.backgroundColor=this.option.color;
this.bodyDiv.style.fontFamily=this.option.fontFamily;
this.bodyDiv.style.fontWeight=this.option.fontWeight;
this.bodyDiv.style.fontSize=this.option.fontSize;
this.bodyDiv.style.fontStyle=this.option.fontStyle;
this.bodyDiv.style.textAlign=this.option.textAlign;
this.bodyDiv.style.lineHeight = this.bodyDiv.style.height;
this.bodyDiv.style.backgroundRepeat='no-repeat';
this.bodyDiv.style.backgroundPosition='0 50%';

if(NS)
this.footImg.setAttribute('style','float:left');
else
this.footImg.style.styleFloat='left';
this.footImg.style.width = this.option.footWidth;
this.footImg.style.height = this.option.height;
this.footImg.style.backgroundColor=this.option.color;
this.headImg.style.backgroundRepeat='no-repeat';
this.headImg.style.backgroundPosition='0 50%';

this.bodyDiv.innerHTML=this.title;

this.midA.appendChild(this.headImg);
this.midA.appendChild(this.bodyDiv);
this.midA.appendChild(this.footImg);

this.midDiv.appendChild(this.midA);
this.menuDiv.appendChild(this.midDiv);
this.menuDiv.appendChild(this.container);

this.changeSelfImg('merge');
if('1' == this.option.menuType && this.superior){
this.container.style.left =0;
this.container.style.left = parseInt(this.container.style.left) + parseInt(this.midDiv.style.width) + parseInt(this.menuDiv.style.marginLeft) + parseInt(this.option.gap);
}
//this.container.style.top = parseInt(superiorDiv.style.top) + parseInt(this.menuDiv.style.marginTop);
//alert(this.container.style.top);
if(this.children){
for(var i=0;i0)sT = parseInt(this.children[i-1].container.style.top);
else if(!this.superior)sT = sT + parseInt(this.option.mTop);
this.children[i].container.style.top = sT + parseInt(this.option.mTop) + parseInt(this.option.height);
}
this.children[i].init(this.container,this);
}
}
superiorDiv.appendChild(this.menuDiv);
}
}
Menu.prototype.changeStatus=function(source){
if(source && ''!=source)this.option.status=source;
if(this.option.status=='merge'){
this.expand();
} else {
this.merge();
if('1' == this.option.menuType && this.children){
for(var i=0;i

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

该类型菜单还没有达到完美的类似开始菜单那样。
请大家积极批评指正!发表看法!

(0)

相关推荐

  • 超级susymenu实现top菜单

    /* Susy Menu Class, version 2.0.0 * 2007 shaoyu su * * Susy-Menu Class is freely distributable . * * *--------------------------------------------------------------------------*/ var CONTEXT_PATH=''; var NS = (navigator.appName=="Netscape")?true

  • Jquery插件 easyUI属性汇总

    此属性列表请对照jQuery EasyUI 1.0.5,关于它的更多资讯请猛击这里. 属性分为CSS片段和JS片段. CSS类定义:1.div easyui-window        生成一个window窗口样式.      属性如下:                   1)modal:是否生成模态窗口.true[是] false[否]                   2)shadow:是否显示窗口阴影.true[显示] false[不显示] 2.div easyui-panel    

  • 路由器版本与密码恢复

    对于版本的获得一般可以通过网站下载,或与供应商联系提供,也可以在路由器正常工作时利用常规命令将版本备份到服务器上,以备应急之用.CISCO 路由器品种较多,各种路由器的密码恢复和版本的灾难恢复情况又不同,现分别叙述. 一. 2500系列路由器(以2509为例) 1. 密码恢复 1.1 利用DB25转换接口,和交叉线将2509路由器的CONSOLE口和计算机串口相连,启动计算机超级终端,设置其参数为波特率9600,数据位8,奇偶校验为无,停止位为1,流控选择无.开启路由器电源,在开机60秒内按ct

  • Cisco常见路由器密码和版本恢复方法探讨

    摘要:本文对CISCO公司的一些常见路由器的密码恢复进行了探讨和总结,同时描述了对路由器版本的灾难性恢复的一些方法. 关键字:路由器,密码,版本. 随着互联网规模的不断扩大,网络与我们的生活已经越来越近,许多政府,学校和公司都组建了自己的信息网络,这使得路由器这一网络设备的使用越来越广泛.在使用路由器的过程中经常会出现忘记密码的事情,使维护人员无法登录,影响工作的进一步开展.同时,在操作过程中有时会因为一些意想不到的原因,将路由器内部的版本映象文件损坏,使路由器无法正常工作,路由器退回到监控状态

  • 新版本susymenu树形菜单,请大家指教、分享

    /* Susy Menu Class, version 2.0.0 * 2007 shaoyu su * * Susy-Menu Class is freely distributable . * * *--------------------------------------------------------------------------*/ var CONTEXT_PATH=''; var NS = (navigator.appName=="Netscape")?true

  • 用jquery实现的一个超级简单的下拉菜单

    用jquery实现的一个超级简单的下拉菜单. 效果图 初始效果  鼠标悬浮效果  代码 复制代码 代码如下: <!DOCTYPE html> <html> <head> <script type="text/javascript" src="jquery-1.11.1.js"></script> <style> nav a { text-decoration: none; } nav >

  • JS+CSS 制作的超级简单的下拉菜单附图

    先看效果:  代码: 复制代码 代码如下: <html> <head> <title>Good Test</title> <script> function showSubMenu(SubMenu) { document.getElementById(SubMenu).style.display = "inline"; } function HideSubMenu(SubMenu) { document.getElementB

  • 超级兔子让浮动层消失的前因后果

    刚搞定了瑞星卡卡,又冲来个超级兔子.不过超级兔子的枪法真的有待改善. 还是同样的问题:安装了超级兔子IE工具条的用户购买自动发货商品时,LightBox形式的购买提醒框刚一显示就消失了.而灰蒙的遮蔽层依然显示,用户又无法继续操作了. 根据研究,超级兔子对屏蔽广告的屏蔽原则更为武断,只要是在JavaScript代码中出现类似 "div.style.position=absolute" 的代码,div 就会被隐藏,不仅如此,超级兔子还会检查页面中的元素,只要一个元素以inline形式设置了

  • Javascript仿新浪游戏频道鼠标悬停显示子菜单效果

    本文实例讲述了Javascript仿新浪游戏频道鼠标悬停显示子菜单效果,分享给大家供大家参考.具体如下: 这里演示使用JS实现的网页栏目分类菜单,从新浪游戏频道扣下来的,操作方式类似于滑动门的效果,鼠标无需点击,只需把鼠标放在一级主菜单上,就可显示出二级分类菜单,这弹出的这个二级菜单中,实际上又重新进行了分类,可以说整体上,这是一款支持三级分类的网站菜单,目前新浪游戏还在用的效果哦. 先来看运行效果截图: 在线演示地址如下: http://demo.jb51.net/js/2015/js-gam

  • js实现的非常棒的绿色下拉透明菜单

    非常棒的绿色下拉透明菜单 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='#ADE

随机推荐