》》》200分求《〈〈XP效果有二级的菜单一条。。一定给分

Linshen 2003-10-22 01:13:17
》》》200分求《〈〈XP效果有二级的菜单一条。。一定给分
...全文
68 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
blueice2002 2003-10-25
  • 打赏
  • 举报
回复
添加连接,仔细看这一句.
TM.addTopLink("hello",1,"http://www.csdn.net","_blank")
zrla 2003-10-25
  • 打赏
  • 举报
回复
up
Linshen 2003-10-24
  • 打赏
  • 举报
回复
蓝冰你好,可以告诉我,键接在那做吗?
Linshen 2003-10-24
  • 打赏
  • 举报
回复
给分好像要结贴吧,我晚一些给你,这点你不用怛心呢。
左边标志的图版问题已经解决了。
Linshen 2003-10-24
  • 打赏
  • 举报
回复
还有,想问问。
就是那个左边标志的图片,我想换个我机子上的,代码怎么写呀,在线等待中。
blueice2002 2003-10-24
  • 打赏
  • 举报
回复
上面有“管理”,进去给分就行了。
Linshen 2003-10-24
  • 打赏
  • 举报
回复
蓝冰,我不知道怎么把分给你呀.快说.
l_kk 2003-10-24
  • 打赏
  • 举报
回复
这个网站的菜单很酷的:http://www.stedy.com/main.asp
blueice2002 2003-10-23
  • 打赏
  • 举报
回复
谢谢!
Linshen 2003-10-23
  • 打赏
  • 举报
回复
蓝冰生日快乐呀,我盐九盐九啊。
HSK007 2003-10-23
  • 打赏
  • 举报
回复
so goog!!
blueice2002 2003-10-23
  • 打赏
  • 举报
回复
从最后一个<script>开始修改,我给你改了一部分,应该能看懂,其它的你自己加,今天偶生日,回家庆祝生日,byebye
<script>
var TM = new TopMenu("TM")

TM.addTopLink("首页 ",1,"javascript:alert()")
TM.addTopMenu("公司信息")
TM[1].addLink("公司新闻",0,"javascript:alert();")
TM[1].addLink("公司简介",0,"javascript:;")
TM[1].addMenu("企业文化")
TM[1][2].addLink("hello",0,"javascript:;")
TM[1][2].addLink("hello",0,"javascript:;")
TM[1][2].addLink("hello",0,"javascript:;")
TM[1][2].addLink("hello",0,"javascript:;")
TM[1].addLink("人才招聘",0,"javascript:;")
TM[1].addHR()
TM[1].addMenu("")
TM[1][4].addLink("hello",0,"javascript:;")
TM[1][4].addLink("hello",0,"javascript:;")
TM[1][4].addLink("hello",0,"javascript:;")
TM[1][4].addLink("hello",0,"javascript:;")
TM.addTopLink("成功案例",0,"javascript:alert()")
TM.addTopMenu("合作伙伴")
TM[3].addLink("hello",0,"javascript:alert();")
TM[3].addLink("hello",0,"javascript:;")
TM[3].addLink("hello",0,"javascript:;")
TM[3].addMenu("hello")
TM[3][3].addLink("hello",0,"javascript:;")
TM[3][3].addLink("hello",0,"javascript:;")
TM[3][3].addLink("hello",0,"javascript:;")
TM[3][3].addLink("hello",0,"javascript:alert();")
TM.addTopMenu("技术实力")
TM.returnAll("document.body") //生成在 document.body里面
</script>
blueice2002 2003-10-23
  • 打赏
  • 举报
回复
图片标志你可以改成你自己的图片。
把下面的代码换掉就可以了。
http://netroom.hbu.edu.cn/personal/stroll/icon/edit.gif
Linshen 2003-10-23
  • 打赏
  • 举报
回复
2002 蓝冰你好啊你的菜单我很喜欢。但我不会改,还请你多帮帮忙。
菜单结构我想改成下面这个样子
首页 公司信息 成功案例 合作伙伴 技术实力 媒体报道 进入论坛 联系我们
公司新闻 系统集成
公司简介 智能大厦
企业文化 方案设计
人才招聘

请你把联连的地方注明,,,还有你菜单左边的那个小标致可以去掉吗。
如果你能帮我,我想我会在给你200分。
blueice2002 2003-10-22
  • 打赏
  • 举报
回复
else
{
return sub_over;

function sub_over()
{

var sonid = obj.id.substring(2,obj.id.length);

var topobj = obj.parentElement.parentElement;

NowSubMenu = topobj.id;

if(obj.className=="menutrout")
{
mouseWave();
}

HideMenu(1);

SubMenuList[returnIndex(NowSubMenu)] = NowSubMenu;

if(isTop)
{
ShowTheMenu(sonid,100)
}
else
{
ShowTheMenu(sonid,MPreturn(sonid))
}

SubMenuList[returnIndex(obj.id)] = sonid;

if(topobj.oldTR)
{
eval(topobj.oldTR+'.className = "menutrout"');
}

obj.className = "menutrin";

topobj.oldTR = obj.id;


}
}
}

//--------- LtrOver(obj,isTop)-------------------//
function LtrOver(obj,isTop)
{
if(isTop)
{
var topobj = obj.parentElement.parentElement;

NowSubMenu = topobj.id;

HideMenu(1);

SubMenuList[returnIndex(NowSubMenu)] = NowSubMenu;

if(topobj.oldTR)
{
eval(topobj.oldTR+'.className = "menutrout"');
}

obj.className = "menutrin";

topobj.oldTR = obj.id;
}
else
{
return sub_over;

function sub_over()
{
var topobj = obj.parentElement.parentElement;

NowSubMenu = topobj.id;

HideMenu(1);

SubMenuList[returnIndex(NowSubMenu)] = NowSubMenu;

if(topobj.oldTR)
{
eval(topobj.oldTR+'.className = "menutrout"');
}

obj.className = "menutrin";

topobj.oldTR = obj.id;

}
}
}

//--------- LtrOut(obj,isTop)-------------------//
function LtrOut(obj,isTop)
{
if(isTop)
{
var topobj = obj.parentElement.parentElement;

obj.className = "menutrout";

topobj.oldTR = false;

}
else
{
return sub_out;

function sub_out()
{
var topobj = obj.parentElement.parentElement;

obj.className = "menutrout";

topobj.oldTR = false;
}
}
}

//----------MtrClick(obj,isTop)-----------------//

function MtrClick(obj,isTop)
{

if(isTop)
{
if(obj.cells(1).all.tags("A").length>0)
{
obj.cells(1).all.tags("A")(0).click();
}
}
else
{
return sub_click;

function sub_click()
{
if(obj.cells(1).all.tags("A").length>0)
{
obj.cells(1).all.tags("A")(0).click();
}

}
}
}


//----------TMtrClick(obj)-----------------//

function TMtrClick(obj)
{
if(obj.MH)
{
MtrOver(obj,1)

obj.MH = false;
}
else
{
document.onmouseup()

obj.MH = true;
}
}

//---------- returnIndex(str)--------------//

function returnIndex(str)
{
return (str.split("_").length-3)
}


//---------ShowTheMenu(obj,num)-----------------//

function ShowTheMenu(obj,num)
{
var topobj = eval(obj.substring(0,obj.length-2));



var SrcObj = eval(topobj.id.split("_")[1])


var ML = 0
if(SrcObj.L)
{
ML += eval(SrcObj.L)
}
var MT = 0
if(SrcObj.T)
{
MT += eval(SrcObj.T)
}


var trobj = eval("tr"+obj);

var obj = eval(obj);

var TheTDLeft = trobj.parentElement.parentElement.parentElement.offsetLeft;


if(num==0)
{
with(obj.style)
{
pixelLeft = topobj.style.pixelLeft +topobj.offsetWidth;
pixelTop = topobj.style.pixelTop + trobj.offsetTop;
}
}
if(num==1)
{
with(obj.style)
{
pixelLeft = topobj.style.pixelLeft + topobj.offsetWidth;
pixelTop = topobj.style.pixelTop + trobj.offsetTop + trobj.offsetHeight - obj.offsetHeight;
}
}
if(num==2)
{
with(obj.style)
{
pixelLeft = topobj.style.pixelLeft - obj.offsetWidth;
pixelTop = topobj.style.pixelTop + trobj.offsetTop;
}
}
if(num==3)
{
with(obj.style)
{
pixelLeft = topobj.style.pixelLeft - obj.offsetWidth;
pixelTop = topobj.style.pixelTop + trobj.offsetTop + trobj.offsetHeight - obj.offsetHeight;
}
}

if(num==100)
{
with(obj.style)
{
pixelLeft = document.body.scrollLeft + topobj.offsetLeft + TheTDLeft + ML;
pixelTop = document.body.scrollTop + topobj.offsetTop + topobj.offsetHeight + MT;
}
}

obj.style.visibility = "visible";

if(obj.alphaing)
{
clearInterval(obj.alphaing);
}

obj.alphaing = setInterval("menu_alpha_up("+obj.id+","+alphaStep+")",menuSpeed);
}

//----------HideMenu(num)-------------------//

/*----------------------
var SubMenuList = new Array();

var NowSubMenu = "";

---------------------*/

function HideMenu(num)
{
var thenowMenu = "";

var obj = null;

if(num==1)
{
thenowMenu = NowSubMenu
}



for(i=SubMenuList.length-1;i>=0;i--)
{
if(SubMenuList[i]&&SubMenuList[i]!=thenowMenu)
{

obj = eval(SubMenuList[i]);

if(obj.alphaing)
{
clearInterval(obj.alphaing);
}

obj.alphaing = setInterval("menu_alpha_down("+obj.id+","+alphaStep+")",menuSpeed);

obj.style.visibility = "hidden"; //-----如果想缓慢隐藏,请去掉这项---------------//------------//

eval("tr"+SubMenuList[i]).className = "menutrout";

SubMenuList[i] = null;
}
else
{
if(SubMenuList[i]==thenowMenu)
{
return;
}
}
}

NowSubMenu = "";
}

//-----------MenuPosition return(obj)--------------//

function MPreturn(obj)
{
var topobj = eval(obj.substring(0,obj.length-2));

var trobj = eval("tr"+obj);

var x = topobj.style.pixelLeft + topobj.offsetWidth;
var y = topobj.style.pixelTop + trobj.offsetTop;

obj = eval(obj);

var judgerY = obj.offsetHeight + y;
var judgerX = obj.offsetWidth + x;

var py = 0;
var px = 0;

if(judgerY>=document.body.clientHeight)
{
py = 1;
}

if(judgerX>= document.body.clientWidth)
{
px = 2;
}

return (px+py);
}

//-----------mouseWave()-------------//

function mouseWave()
{
if(mouseCanSound)
{
theBS.src= "sound/sound.wav";
}
}

//----------- menu_alpha_down -------//

function menu_alpha_down(obj,num)
{
var obj = eval(obj);

if(obj.filters.Alpha.Opacity > 0 )
{
obj.filters.Alpha.Opacity += -num;
}
else
{
clearInterval(obj.alphaing);
obj.filters.Alpha.Opacity = 0;
obj.alphaing = false;
obj.style.visibility = "hidden";
}
}


//------------ menu_alpha_up --------//

function menu_alpha_up(obj,num)
{
var obj = eval(obj);

if(obj.filters.Alpha.Opacity<100)
obj.filters.Alpha.Opacity += num;
else
{
clearInterval(obj.alphaing);
obj.filters.Alpha.Opacity = 100;
obj.alphaing = false;
}
}

//---------- IE mouseup --------//

function document.onmouseup()
{
HideMenu();
}
</script>


<script>
var TM = new TopMenu("TM")

TM.addTopLink("hello",1,"javascript:alert()")
TM.addTopMenu("hello")
TM[1].addLink("hello",0,"javascript:alert();")
TM[1].addLink("hello",0,"javascript:;")
TM[1].addMenu("hello")
TM[1][2].addLink("hello",0,"javascript:;")
TM[1][2].addLink("hello",0,"javascript:;")
TM[1][2].addLink("hello",0,"javascript:;")
TM[1][2].addLink("hello",0,"javascript:;")
TM[1].addLink("hello",0,"javascript:;")
TM[1].addHR()
TM[1].addMenu("hello")
TM[1][4].addLink("hello",0,"javascript:;")
TM[1][4].addLink("hello",0,"javascript:;")
TM[1][4].addLink("hello",0,"javascript:;")
TM[1][4].addLink("hello",0,"javascript:;")
TM.addTopLink("hello",0,"javascript:alert()")
TM.addTopMenu("hello")
TM[3].addLink("hello",0,"javascript:alert();")
TM[3].addLink("hello",0,"javascript:;")
TM[3].addLink("hello",0,"javascript:;")
TM[3].addMenu("hello")
TM[3][3].addLink("hello",0,"javascript:;")
TM[3][3].addLink("hello",0,"javascript:;")
TM[3][3].addLink("hello",0,"javascript:;")
TM[3][3].addLink("hello",0,"javascript:alert();")
TM.returnAll("document.body") //生成在 document.body里面
</script>
</body>

</html>

blueice2002 2003-10-22
  • 打赏
  • 举报
回复



//---------------- 生成连接 makeTopLink 方法 ------------//
function makeTopLink(subID,oldID,word,icon,url,target,thetitle)
{


var thelink = '';

if(icon&&icon!="")
{
icon = '<img border="0" src="'+IconList[icon].src+'">';
}
else
{
icon = '';
}

if(!thetitle||thetitle=="")
{
thetitle = '';
}


if(url&&url!="")
{
thelink += '<a href="'+url+'" ';

if(target&&target!="")
{
thelink += ' ';
thelink += 'target="'+target+'" '
}

thelink += '></a>';
}

var Oobj = document.getElementById(oldID);


/*--------------------------------------------- 连接html样式

<tr class="menutrout" id="trMenu_one_0" title="I am title">
<td class="menutd0"><img src="icon/sub.gif" border="0" width="16" height="16"></td>
<td><a href="javascript:alert('I am link');" target="_self"></a><nobr>连接一</nobr></td>
<td class="menutd2"> </td>
</tr>


--------------------------------------------------*/

var TempTableStr = '<table border="0" cellspacing="0" cellpadding="0" style="font-size: 12px">'
+ '<tr class="menutrout" id="tr'+subID+'" onmouseout="LtrOut(this,1)" onmouseover="LtrOver(this,1)" onclick="MtrClick(this,1)" title="'+thetitle+'">'
+ '<td class="menutd0">'+icon+'</td>'
+ '<td>'+thelink+'<nobr class=indentWord>'+word+'</nobr></td>'
+ '<td class="menutd2"> </td>'
+ '</tr></table>'

Oobj.rows(0).insertCell().innerHTML = TempTableStr

}


//*******************************************************************//



//-------------- 菜单对象 addMenu 方法 ------------//
function addMenu(word,icon,url,target,title)
{
var subID = this.id + "_" + this.length;
var subObj = this.obj+"["+this.length+"]";

var oldID = this.id;

eval(subObj+"= new SubMenu('"+subObj+"','"+subID+"')");

makeMenu(subID,oldID,word,icon,url,target,title);

this.length++;

}


//------------- 菜单对象 addLink 方法 -------------//
function addLink(word,icon,url,target,title)
{
var subID = this.id + "_" + this.length;
var oldID = this.id;

makeLink(subID,oldID,word,icon,url,target,title);

this.length++;
}

//------------ 菜单对象 addHR 方法 -----------------//
function addHR()
{
var oldID = this.id;

var Oobj = document.getElementById(oldID);

Oobj.insertRow();

/*------------------------------------------

<tr>
<td colspan="4">
<hr class="menuhr" size="1" width="95%">
</td>
</tr>

--------------------------------------------*/


Oobj.rows(Oobj.rows.length-1).insertCell();

with(Oobj.rows(Oobj.rows.length-1))
{
cells(0).colSpan= 4;
cells(0).insertAdjacentHTML('beforeEnd','<hr class="menuhr" size="1" width="95%">');
}

}





//-------------- 生成 菜单 makeMenu 方法 -----------//
function makeMenu(subID,oldID,word,icon,url,target,thetitle)
{
var thelink = '';


if(icon&&icon!="")
{
icon = '<img border="0" src="'+IconList[icon].src+'">';
}
else
{
icon = '';
}

if(!thetitle||thetitle=="")
{
thetitle = '';
}


if(url&&url!="")
{
thelink += '<a href="'+url+'" ';

if(target&&target!="")
{
thelink += ' ';
thelink += 'target="'+target+'" '
}

thelink += '></a>';
}

var Oobj = document.getElementById(oldID);

/*--------------------------------------------- 菜单html样式

<tr class="menutrout" id="trMenu_one_0" title="I am title">
<td class="menutd0"><img src="icon/sub.gif" border="0" width="16" height="16"></td>
<td><a href="javascript:alert('I am menu');" target="_self"></a><nobr>菜单一</nobr></td>
<td class="menutd1">4</td>
<td class="menutd2"> </td>
</tr>


--------------------------------------------------*/

Oobj.insertRow();


with(Oobj.rows(Oobj.rows.length-1))
{
id = "tr"+subID;
className = "menutrout";

title = thetitle;

}

eventObj = "tr"+subID;

eval(eventObj+'.attachEvent("onmouseover",MtrOver('+eventObj+'))');
eval(eventObj+'.attachEvent("onclick",MtrClick('+eventObj+'))');

var trObj = eval(eventObj);

for(i=0;i<4;i++)
{
trObj.insertCell();
}

with(Oobj.rows(Oobj.rows.length-1))
{
cells(0).className = "menutd0";
cells(0).innerHTML = icon;

cells(1).innerHTML = thelink+'<nobr class=indentWord>'+word+'</nobr>';
cells(1).calssName = "indentWord"

cells(2).className = "menutd1";
cells(2).innerHTML = "4";

cells(3).className = "menutd2";
cells(3).innerText = " ";

}


document.body.insertAdjacentHTML('beforeEnd','<table id="'+subID+'" border="0" cellspacing="0" cellpadding="0" style="top: 0; left: 0; visibility: hidden; filter:Alpha(Opacity=0);" class="menutable"></table>');



}



//---------------- 生成连接 makeLink 方法 ------------//
function makeLink(subID,oldID,word,icon,url,target,thetitle)
{


var thelink = '';

if(icon&&icon!="")
{
icon = '<img border="0" src="'+IconList[icon].src+'">';
}
else
{
icon = '';
}

if(!thetitle||thetitle=="")
{
thetitle = '';
}


if(url&&url!="")
{
thelink += '<a href="'+url+'" ';

if(target&&target!="")
{
thelink += ' ';
thelink += 'target="'+target+'" '
}

thelink += '></a>';
}

var Oobj = document.getElementById(oldID);


/*--------------------------------------------- 连接html样式

<tr class="menutrout" id="trMenu_one_0" title="I am title">
<td class="menutd0"><img src="icon/sub.gif" border="0" width="16" height="16"></td>
<td><a href="javascript:alert('I am link');" target="_self"></a><nobr>连接一</nobr></td>
<td class="linktd1"></td>
<td class="menutd2"> </td>
</tr>


--------------------------------------------------*/

Oobj.insertRow();


with(Oobj.rows(Oobj.rows.length-1))
{
id = "tr"+subID;
className = "menutrout";
title = thetitle;

}

eventObj = "tr"+subID;

eval(eventObj+'.attachEvent("onmouseover",LtrOver('+eventObj+'))');
eval(eventObj+'.attachEvent("onmouseout",LtrOut('+eventObj+'))');
eval(eventObj+'.attachEvent("onclick",MtrClick('+eventObj+'))');

var trObj = eval(eventObj);

for(i=0;i<4;i++)
{
trObj.insertCell();
}

with(Oobj.rows(Oobj.rows.length-1))
{
cells(0).className = "menutd0";
cells(0).innerHTML = icon;

cells(1).innerHTML = thelink+'<nobr class=indentWord>'+word+'</nobr>';

cells(2).className = "linktd1";
cells(2).innerText = " ";

cells(3).className = "menutd2";
cells(3).innerText = " ";

}

}


//--------- MtrOver(obj,isTop)-------------------//
function MtrOver(obj,isTop)
{
if(isTop)
{
var sonid = obj.id.substring(2,obj.id.length);

var topobj = obj.parentElement.parentElement;

NowSubMenu = topobj.id;

if(obj.className=="menutrout")
{
mouseWave();
}

HideMenu(1);

SubMenuList[returnIndex(NowSubMenu)] = NowSubMenu;

if(isTop)
{
ShowTheMenu(sonid,100)
}
else
{
ShowTheMenu(sonid,MPreturn(sonid))
}

SubMenuList[returnIndex(obj.id)] = sonid;

if(topobj.oldTR)
{
eval(topobj.oldTR+'.className = "menutrout"');
}

obj.className = "menutrin";

topobj.oldTR = obj.id;
}
blueice2002 2003-10-22
  • 打赏
  • 举报
回复
本代码是整个演示页的代码,不能直接插入网页中使用,请自行修改后再使用!
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>XP菜单</title>
<style>
.menutableT
{
border-left: 5 solid #307CE8;
border-right: 1 solid #307CE8;
border-top: 1 solid #94BCF3;
border-bottom: 1 solid #307CE8;
font-size: 12px;
background-color: #FFFFFF;
}
.menutable
{
position: absolute;
z-index: 100;
border-left: 5 solid #307CE8;
border-right: 1 solid #307CE8;
border-top: 1 solid #94BCF3;
border-bottom: 1 solid #307CE8;
font-size: 12px;
background-color: #FFFFFF;
}
.menutrin
{
background-color: #1A71E6;
color: #FFFFFF;
cursor: hand;
}
.menutrout
{
color: #000000;
cursor: hand;
}
.menutd0
{
text-align: center;
width: 28;
height: 25; <!--改变这个修改菜单高度--->
}
.menutd1
{
text-align: right;
width: 50;
font-family: Webdings;
}
.linktd1
{
width: 46;
}
.menutd2
{
width: 4;
}
.menuhr
{
border: 1 inset #307CE8;
}
.indentWord
{
padding-left: 2px;
}

</style>
<bgsound src="" loop="0" id="theBS">
</head>

<body bgcolor="#E3E3E3" onselectstart="return false">
<script>
/*--------------------------------------------
管理样式多级菜单 1.0 制作 Stroll

--------------------------------------------*/

//--------------- 有关数据 -----------------//

var IconList = new Array(); // icon图片 集合, 下标从 1 开始

IconList[1] = new Image();

IconList[1].src = "http://netroom.hbu.edu.cn/personal/stroll/icon/edit.gif";


//---------------- 检测变量 菜单的显示隐藏就靠它了!!! ------------------//


var SubMenuList = new Array();

var NowSubMenu = "";

var mouseCanSound = false; //--------------------------- 声音开关 ------ 声音开关 ------------------//

var menuSpeed = 50; //---------- 菜单显示速度 ------------//

var alphaStep = 30; //---------- Alpaha 变化 度 -----------//


//------------- 构建 顶部菜单 对象 -------------//

function TopMenu(objName,L,T)
{
this.id = "Menu_"+objName;
this.obj = objName;
this.length = 0;

this.L = L

this.T = T

this.addTopMenu = addTopMenu;
this.addTopLink = addTopLink;

this.returnAll = returnAll

document.body.insertAdjacentHTML('afterBegin','<div id="temp_'+this.id+'" style="display: none;"><table id="'+this.id+'" border="0" cellspacing="0" cellpadding="0" class="menutableT" ><tr></tr></table></div>');
}

//----------returnAll----------------//

function returnAll(str)
{
var obj = eval("temp_"+this.id);

str = eval(str)

var tempstr = obj.innerHTML


obj.outerHTML = "";

str.insertAdjacentHTML('beforeEnd',tempstr)



}

//----------- 构建 子菜单 对象 -------------//

function SubMenu(objName,objID)
{
this.obj = objName;
this.id = objID;

this.addMenu = addMenu;
this.addLink = addLink;
this.addHR = addHR;

this.length = 0;
}


//-------------- 主菜单对象 addTopMenu 方法 ------------//
function addTopMenu(word,icon,title)
{
var subID = this.id + "_" + this.length;
var subObj = this.obj+"["+this.length+"]";

var oldID = this.id;

eval(subObj+"= new SubMenu('"+subObj+"','"+subID+"')");

makeTopMenu(subID,oldID,word,icon,title);

this.length++;

}


//------------- 主菜单对象 addTopLink 方法 -------------//
function addTopLink(word,icon,url,target,title)
{
var subID = this.id + "_" + this.length;
var oldID = this.id;

makeTopLink(subID,oldID,word,icon,url,target,title);

this.length++;
}

//-------------- 生成 菜单 makeTopMenu 方法 -----------//
function makeTopMenu(subID,oldID,word,icon,thetitle)
{
if(icon&&icon!="")
{
icon = '<img border="0" src="'+IconList[icon].src+'">';
}
else
{
icon = '';
}

if(!thetitle||thetitle=="")
{
thetitle = '';
}


var Oobj = document.getElementById(oldID);

/*--------------------------------------------- 菜单html样式
<td>
<table border="0" cellspacing="0" cellpadding="0">
<tr class="menutrout" id="trMenu_one_0" title="I am title">
<td class="menutd0"><img src="icon/sub.gif" border="0" width="16" height="16"></td>
<td><nobr>菜单一</nobr></td>
<td class="menutd2"> </td>
</tr>
</table>
</td>
--------------------------------------------------*/

var TempTableStr = '<table border="0" cellspacing="0" cellpadding="0" style="font-size: 12px">'
+ '<tr class="menutrout" id="tr'+subID+'" onmousedown="TMtrClick(this)" onmouseover="MtrOver(this,1);this.MH=false" title="'+thetitle+'" onmouseup="event.cancelBubble=true">'
+ '<td class="menutd0">'+icon+'</td>'
+ '<td><nobr class=indentWord>'+word+'</nobr></td>'
+ '<td class="menutd2"> </td>'
+ '</tr></table>'

Oobj.rows(0).insertCell().innerHTML = TempTableStr


document.body.insertAdjacentHTML('beforeEnd','<table id="'+subID+'" border="0" cellspacing="0" cellpadding="0" style="top: 0; left: 0; visibility: hidden; filter:Alpha(Opacity=0);" class="menutable" ></table>');

}
awaysrain 2003-10-22
  • 打赏
  • 举报
回复

<SCRIPT>
var one = new MouseMenu("one");

one.addMenu("菜单一",1,"javascript:alert('I am menu');","_self","I am title");
one[0].addLink("连接一","","javascript:alert('I am link')")
one[0].addHR()
one[0].addLink("连接二","","javascript:alert('I am link')")
one[0].addMenu("菜单三");
one[0][2].addLink("连接一",1,"javascript:;")
one[0].addLink("连接三","","javascript:alert('I am link')")
one[0].addLink("连接四","","javascript:alert('I am link')")
one.addLink("连接二","","javascript:alert('I am link')")
one.addMenu("菜单二");
one[2].addLink("连接一","","javascript:alert('I am link')")
one.addHR();
one.addLink("连接三,多长都可以",1,"javascript:alert('I am link')")

</SCRIPT>
<P><FONT color=#1a71e6>有声音的哦…… 可以关闭!设置 mouseCanSound = false;
就可以了</FONT></P></BODY></HTML>
awaysrain 2003-10-22
  • 打赏
  • 举报
回复
//接上

//-------------- 菜单对象 addMenu 方法 ------------//
function addMenu(word,icon,url,target,title)
{
var subID = this.id + "_" + this.length;
var subObj = this.obj+"["+this.length+"]";

var oldID = this.id;

eval(subObj+"= new SubMenu('"+subObj+"','"+subID+"')");

makeMenu(subID,oldID,word,icon,url,target,title);

this.length++;

}

//------------- 菜单对象 addLink 方法 -------------//
function addLink(word,icon,url,target,title)
{
var subID = this.id + "_" + this.length;
var oldID = this.id;

makeLink(subID,oldID,word,icon,url,target,title);

this.length++;
}
//------------ 菜单对象 addHR 方法 -----------------//
function addHR()
{
var oldID = this.id;
var Oobj = document.getElementById(oldID);

Oobj.insertRow();

/*------------------------------------------

<tr>
<td colspan="4">
<hr class="menuhr" size="1" width="95%">
</td>
</tr>

--------------------------------------------*/

Oobj.rows(Oobj.rows.length-1).insertCell();
with(Oobj.rows(Oobj.rows.length-1))
{
cells(0).colSpan= 4;
cells(0).insertAdjacentHTML('beforeEnd','<hr class="menuhr" size="1" width="95%">');
}

}



//--------- MtrOver(obj)-------------------//
function MtrOver(obj)
{
return sub_over;

function sub_over()
{

var sonid = obj.id.substring(2,obj.id.length);

var topobj = obj.parentElement.parentElement;

NowSubMenu = topobj.id;

HideMenu(1);

SubMenuList[returnIndex(NowSubMenu)] = NowSubMenu;
ShowTheMenu(sonid,MPreturn(sonid))

SubMenuList[returnIndex(obj.id)] = sonid;

if(topobj.oldTR)
{
eval(topobj.oldTR+'.className = "menutrout"');
}
obj.className = "menutrin";
topobj.oldTR = obj.id;

}
}
//--------- LtrOver(obj)-------------------//
function LtrOver(obj)
{
return sub_over;

function sub_over()
{
var topobj = obj.parentElement.parentElement;
NowSubMenu = topobj.id;

HideMenu(1);

SubMenuList[returnIndex(NowSubMenu)] = NowSubMenu;

if(topobj.oldTR)
{
eval(topobj.oldTR+'.className = "menutrout"');
}
obj.className = "menutrin";
topobj.oldTR = obj.id;
}
}
//--------- LtrOut(obj)-------------------//
function LtrOut(obj)
{
return sub_out;

function sub_out()
{
var topobj = obj.parentElement.parentElement;

obj.className = "menutrout";

topobj.oldTR = false;
}
}
//----------MtrClick(obj)-----------------//
function MtrClick(obj)
{
return sub_click;

function sub_click()
{
if(obj.cells(1).all.tags("A").length>0)
{
obj.cells(1).all.tags("A")(0).click();
}
}
}

//---------- returnIndex(str)--------------//
function returnIndex(str)
{
return (str.split("_").length-3)
}

//---------ShowTheMenu(obj,num)-----------------//
function ShowTheMenu(obj,num)
{
var topobj = eval(obj.substring(0,obj.length-2));

var trobj = eval("tr"+obj);

var obj = eval(obj);

if(num==0)
{
with(obj.style)
{
pixelLeft = topobj.style.pixelLeft + WHreturn(topobj.id,2);
pixelTop = topobj.style.pixelTop + trobj.offsetTop;
}
}
if(num==1)
{
with(obj.style)
{
pixelLeft = topobj.style.pixelLeft + WHreturn(topobj.id,2);
pixelTop = document.body.clientHeight - WHreturn(obj.id,1);
}
}
if(num==2)
{
with(obj.style)
{
pixelLeft = topobj.style.pixelLeft - WHreturn(obj.id,2);
pixelTop = topobj.style.pixelTop + trobj.offsetTop;
}
}
if(num==3)
{
with(obj.style)
{
pixelLeft = topobj.style.pixelLeft - WHreturn(obj.id,2);
pixelTop = document.body.clientHeight - WHreturn(obj.id,1);
}
}

mouseWave();

obj.style.display = "";
}
//----------HideMenu(num)-------------------//
/*----------------------
var SubMenuList = new Array();
var NowSubMenu = "";
---------------------*/
function HideMenu(num)
{
var thenowMenu = "";

if(num==1)
{
thenowMenu = NowSubMenu
}

for(i=SubMenuList.length-1;i>=0;i--)
{
if(SubMenuList[i]&&SubMenuList[i]!=thenowMenu)
{
eval(SubMenuList[i]).style.display = "none";
eval("tr"+SubMenuList[i]).className = "menutrout";

SubMenuList[i] = null;
}
else
{
if(SubMenuList[i]==thenowMenu)
{
return;
}
}
}

NowSubMenu = "";
}

//---------- WHreturn(obj,num) 无奈的“杰作”----------------//
function WHreturn(obj,num)
{
obj = eval(obj);

var trlist = obj.childNodes(0).childNodes

var size = 0;

if(num==1)
{
for(i=0;i<trlist.length;i++)
{
size += parseInt(trlist(i).offsetHeight);
}

return(size)
}
if(num==2)
{
size += parseInt(trlist(0).offsetWidth);

return(size)
}
}

//-----------MainMenuPosition return()------------//
function MMPreturn()
{
var obj = eval(JustMenuID);

var x = event.clientX;
var y = event.clientY;

var judgerX = x + WHreturn(JustMenuID,2);
var judgerY = y + WHreturn(JustMenuID,1);

//######################################################################## 看这里!! 怎样得到 height ? ###################
//alert(obj.offsetWidth)
var px = 0;
var py = 0;

if(judgerX>document.body.clientWidth)
{
px = 2;
}
if(judgerY>document.body.clientHeight)
{
py = 1;
}

return (px+py);
}
//-----------MenuPosition return(obj)--------------//
function MPreturn(obj)
{
var topobj = eval(obj.substring(0,obj.length-2));

var trobj = eval("tr"+obj);

var x = topobj.style.pixelLeft + topobj.offsetWidth;
var y = topobj.style.pixelTop + trobj.offsetTop;
obj = eval(obj);

var judgerY = WHreturn(obj.id,1) + y;
var judgerX = WHreturn(obj.id,2) + x;

var py = 0;
var px = 0;

if(judgerY>=document.body.clientHeight)
{
py = 1;
}

if(judgerX>= document.body.clientWidth)
{
px = 2;
}

return (px+py);
}
//-----------mouseWave()-------------//
function mouseWave()
{
if(mouseCanSound)
{
theBS.src= "sound/sound.wav";
}
}

//----------- IE ContextMenu -----------------//
function document.oncontextmenu()
{
return false;
}

//----------- IE Mouseup ----------------//
function document.onmouseup()
{
if(event.button==2)
{

HideMenu(0);

var obj = eval(JustMenuID)

obj.style.display = "none";

var judger = MMPreturn()

if(judger==0)
{
with(obj.style)
{
pixelLeft = event.clientX;
pixelTop = event.clientY;
}
}
if(judger==1)
{
with(obj.style)
{
pixelLeft = event.clientX;
pixelTop = event.clientY - WHreturn(JustMenuID,1);
}
}
if(judger==2)
{
with(obj.style)
{
pixelLeft = event.clientX - WHreturn(JustMenuID,2);
pixelTop = event.clientY;
}
}
if(judger==3)
{
with(obj.style)
{
pixelLeft = event.clientX - WHreturn(JustMenuID,2);
pixelTop = event.clientY - WHreturn(JustMenuID,1);
}
}

mouseWave();

obj.style.display = "";


}
}
//---------- IE MouseDown --------------//
function document.onmousedown()
{
if(event.button==1)
{
HideMenu();

var obj = eval(JustMenuID)

with(obj.style)
{
display = "none";
}

}
}
//----->
</SCRIPT>
awaysrain 2003-10-22
  • 打赏
  • 举报
回复
看看这个右键菜单的风格
有个同样分割的下拉菜单着,可是找不到了

<HTML><HEAD><TITLE>mouse-menu</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 5.50.4916.2300" name=GENERATOR>
<META content=FrontPage.Editor.Document name=ProgId>
<STYLE>.menutable {
BORDER-RIGHT: #307ce8 1px solid; BORDER-TOP: #94bcf3 1px solid; FONT-SIZE: 12px; Z-INDEX: 100; BORDER-LEFT: #307ce8 5px solid; BORDER-BOTTOM: #307ce8 1px solid; POSITION: absolute; BACKGROUND-COLOR: #ffffff
}
.menutrin {
CURSOR: hand; COLOR: #ffffff; BACKGROUND-COLOR: #1a71e6
}
.menutrout {
CURSOR: hand; COLOR: #000000
}
.menutd0 {
WIDTH: 28px; HEIGHT: 25px; TEXT-ALIGN: center; 改变这个修改菜单高度---:
}
.menutd1 {
WIDTH: 46px; FONT-FAMILY: Webdings; TEXT-ALIGN: right
}
.linktd1 {
WIDTH: 46px
}
.menutd2 {
WIDTH: 4px
}
.menuhr {
BORDER-RIGHT: #307ce8 1px inset; BORDER-TOP: #307ce8 1px inset; BORDER-LEFT: #307ce8 1px inset; BORDER-BOTTOM: #307ce8 1px inset
}
</STYLE>
<BGSOUND id=theBS src="" loop=0></HEAD>
<BODY style="FONT-SIZE: 10pt" bgColor=#eaf5fd>
<SCRIPT>
<!----
/*-----------------------------------------------------------
鼠标右键菜单 1.0 Designed By Stroll e-mail: csy-163@163.com

--------------------------------------------------------------*/
//--------------- 有关数据 -----------------//
var IconList = new Array(); // icon图片 集合, 下标从 1 开始
IconList[1] = new Image();

IconList[1].src = "icon/sub.gif";


//---------------- 检测变量 菜单的显示隐藏就靠它了!!! ------------------//
var JustMenuID = "";
var SubMenuList = new Array();
var NowSubMenu = "";
var mouseCanSound = true; //--------------------------- 声音开关 ------ 声音开关 ------------------//

//------------- 构建 主菜单 对象 -------------//
function MouseMenu(objName)
{
this.id = "Menu_"+objName;
this.obj = objName;
this.length = 0;


this.addMenu = addMenu;
this.addLink = addLink;
this.addHR = addHR;

JustMenuID = this.id;

document.body.insertAdjacentHTML('beforeEnd','<table id="'+this.id+'" border="0" cellspacing="0" cellpadding="0" style="top: 0; left: 0; display: none;" class="menutable" onmousedown=event.cancelBubble=true; onmouseup=event.cancelBubble=true></table>');
}
//----------- 构建 子菜单 对象 -------------//
function SubMenu(objName,objID)
{
this.obj = objName;
this.id = objID;
this.addMenu = addMenu;
this.addLink = addLink;
this.addHR = addHR;
this.length = 0;
}

//-------------- 生成 菜单 makeMenu 方法 -----------//
function makeMenu(subID,oldID,word,icon,url,target,thetitle)
{
var thelink = '';

if(icon&&icon!="")
{
icon = '<img border="0" src="'+IconList[icon].src+'">';
}
else
{
icon = '';
}

if(!thetitle||thetitle=="")
{
thetitle = '';
}


if(url&&url!="")
{
thelink += '<a href="'+url+'" ';

if(target&&target!="")
{
thelink += ' ';
thelink += 'target="'+target+'" '
}

thelink += '></a>';
}

var Oobj = document.getElementById(oldID);
/*--------------------------------------------- 菜单html样式

<tr class="menutrout" id="trMenu_one_0" title="I am title">
<td class="menutd0"><img src="icon/sub.gif" border="0" width="16" height="16"></td>
<td><a href="javascript:alert('I am menu');" target="_self"></a><nobr>菜单一</nobr></td>
<td class="menutd1">4</td>
<td class="menutd2"> </td>
</tr>

--------------------------------------------------*/

Oobj.insertRow();

with(Oobj.rows(Oobj.rows.length-1))
{
id = "tr"+subID;
className = "menutrout";

title = thetitle;
}

eventObj = "tr"+subID;

eval(eventObj+'.attachEvent("onmouseover",MtrOver('+eventObj+'))');
eval(eventObj+'.attachEvent("onclick",MtrClick('+eventObj+'))');

var trObj = eval(eventObj);
for(i=0;i<4;i++)
{
trObj.insertCell();
}
with(Oobj.rows(Oobj.rows.length-1))
{
cells(0).className = "menutd0";
cells(0).innerHTML = icon;
cells(1).innerHTML = thelink+'<nobr>'+word+'</nobr>';

cells(2).className = "menutd1";
cells(2).innerHTML = "4";

cells(3).className = "menutd2";
cells(3).innerText = " ";

}



document.body.insertAdjacentHTML('beforeEnd','<table id="'+subID+'" border="0" cellspacing="0" cellpadding="0" style="top: 0; left: 0; display: none" class="menutable" onmousedown=event.cancelBubble=true; onmouseup=event.cancelBubble=true></table>');



}

//---------------- 生成连接 makeLink 方法 ------------//
function makeLink(subID,oldID,word,icon,url,target,thetitle)
{


var thelink = '';

if(icon&&icon!="")
{
icon = '<img border="0" src="'+IconList[icon].src+'">';
}
else
{
icon = '';
}

if(!thetitle||thetitle=="")
{
thetitle = '';
}


if(url&&url!="")
{
thelink += '<a href="'+url+'" ';

if(target&&target!="")
{
thelink += ' ';
thelink += 'target="'+target+'" '
}

thelink += '></a>';
}

var Oobj = document.getElementById(oldID);


/*--------------------------------------------- 连接html样式

<tr class="menutrout" id="trMenu_one_0" title="I am title">
<td class="menutd0"><img src="icon/sub.gif" border="0" width="16" height="16"></td>
<td><a href="javascript:alert('I am link');" target="_self"></a><nobr>连接一</nobr></td>
<td class="linktd1"></td>
<td class="menutd2"> </td>
</tr>

--------------------------------------------------*/

Oobj.insertRow();

with(Oobj.rows(Oobj.rows.length-1))
{
id = "tr"+subID;
className = "menutrout";
title = thetitle;
}

eventObj = "tr"+subID;

eval(eventObj+'.attachEvent("onmouseover",LtrOver('+eventObj+'))');
eval(eventObj+'.attachEvent("onmouseout",LtrOut('+eventObj+'))');
eval(eventObj+'.attachEvent("onclick",MtrClick('+eventObj+'))');

var trObj = eval(eventObj);
for(i=0;i<4;i++)
{
trObj.insertCell();
}
with(Oobj.rows(Oobj.rows.length-1))
{
cells(0).className = "menutd0";
cells(0).innerHTML = icon;
cells(1).innerHTML = thelink+'<nobr>'+word+'</nobr>';

cells(2).className = "linktd1";
cells(2).innerText = " ";

cells(3).className = "menutd2";
cells(3).innerText = " ";

}
}

87,988

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧