首页 网站知识 网站案例 网站制作流程 网站制作价格 网站定制 联系我们
Q Q
电 话
手 机
Q Q
电 话
手 机

一个很酷的js菜单,类

发布时间:2020-04-06 00:00
发布者:网站定制网
浏览次数:
<script>
function CoolMenuControl(){

//-----常规变量---
this.lastScrollX=0;
this.lastScrollY=0;
this.lastScrollW=0;
this.lastScrollH=0;
this.td_X=0;
this.td_Y=0;
this.td_W=0;
this.td_H=0;
this.td=0;
this.mouseon=0;
this.current=null
this.hk_name;
this.hktable_name;
this.menudiv_name;
this.menutable_name;
this.ml=0;
this.menuarray=new Array();
this.speed;
this.href="";

//-----菜单项目---
function menuitem(type,value,url,target){
this.type=type
this.value=value
this.url=url
this.target=target
}

//-----插入菜单---
this.insertmenu=function(type,value,url,target){
this.menuarray[this.menuarray.length]=new menuitem(type,value,url,target)
}

//-----程序初试化---
this.init=function(name,bdc,bgc,speed,Alpha){
var inhtml=""
var cellcount=0
var lastcellcount=0
this.hk_name=name+"hk"
this.hktable_name=name+"hktable"
this.menudiv_name=name+"menudiv"
this.menutable_name=name+"menutable"
this.speed=speed

for (i=0;i<this.menuarray.length;i++)
{
if (this.menuarray[i].type=="2") cellcount=cellcount+1
if (this.menuarray[i].type=="1" || this.menuarray[i].type=="0") {cellcount=0}
if (lastcellcount<cellcount) {lastcellcount++}

}

//alert(cellcount)


stylecode="cursor:hand;filter:Alpha(style=0,opacity="+Alpha+");background-color:"+bgc

suspendcode="<DIV id="+this.hk_name+" style='POSITION:absolute;' onclick='"+name+".doClick()'>"
+"<table id="+this.hktable_name+" border='1' width='0' cellspacing='0' style='border-collapse: collapse' bordercolor='"+bdc+"'>"
+"<tr><td height='18' style='"+stylecode+"'></td></tr></table></div>";
document.write(suspendcode);
var fcell=true
for (i=0;i<this.menuarray.length;i++)
{
switch(this.menuarray[i].type)
{
case "0":
t=cellcount*2
if (t<=0)
{
inhtml+='<tr><td colspan=2 class=ht onmouseover=\''+name+'.href="'+this.menuarray[i].url+','+this.menuarray[i].target+'"\'>'+this.menuarray[i].value
}
else
{
inhtml+='<tr><td colspan='+t+' class=ht onmouseover=\''+name+'.href="'+this.menuarray[i].url+','+this.menuarray[i].target+'"\'>'+this.menuarray[i].value
}
fcell=true
break;
case "1":
t=(cellcount-1)*2
if (t<=0)
{
inhtml+='<tr><td width=6><td onmouseover=\''+name+'.href="'+this.menuarray[i].url+','+this.menuarray[i].target+'"\'>'+this.menuarray[i].value
}
else
{
inhtml+='<tr><td width=6><td colspan='+t+' onmouseover=\''+name+'.href="'+this.menuarray[i].url+','+this.menuarray[i].target+'"\'>'+this.menuarray[i].value
}
fcell=true
break;

case "2":
if (fcell)
{
inhtml+='<tr><td width=6><td onmouseover=\''+name+'.href="'+this.menuarray[i].url+','+this.menuarray[i].target+'"\'>'+this.menuarray[i].value;
fcell=false
}
else
{
inhtml+='<td width=6><td onmouseover=\''+name+'.href="'+this.menuarray[i].url+','+this.menuarray[i].target+'"\'>'+this.menuarray[i].value;
}
break;
}
}
inhtml='<div id='+this.menudiv_name+' onmousemove="'+name+'.doOver()">'
+'<table id='+this.menutable_name+' border="0" cellpadding="2" class="menu" cellspacing="4">'
+inhtml
+'</table></div>';
//alert(inhtml)
document.write(inhtml);

this.lastScrollX=0;
this.lastScrollY=-4;
this.posXY(eval(this.menutable_name).cells[0])
this.td_W=eval(this.menutable_name).cells[0].scrollWidth+6
this.td_H=eval(this.menutable_name).cells[0].scrollHeight
setInterval(name+".scrollback()",1)
}

//-----单击超连接---
this.doClick=function(){
//alert(this.url)
var url=this.href.split(",")
//alert(url[0])
//alert(url[1])
if (url[0]=="") return

if (url[1]=="_blank")
{window.open(url[0])}
else
{location.href=url[0]}
}

//-----滑动处理---
this.scrollback=function(){
diffX=this.td_X-3
diffY=this.td_Y-5
diffW=this.td_W
diffH=this.td_H
percentX=this.speed*(diffX-this.lastScrollX);
percentY=this.speed*(diffY-this.lastScrollY);
percentW=this.speed*(diffW-this.lastScrollW);
percentH=this.speed*(diffH-this.lastScrollH);

if(percentX>0)percentX=Math.ceil(percentX);
else percentX=Math.floor(percentX);
if(percentY>0)percentY=Math.ceil(percentY);
else percentY=Math.floor(percentY);
if(percentW>0)percentW=Math.ceil(percentW);
else percentW=Math.floor(percentW);
if(percentH>0)percentH=Math.ceil(percentH);
else percentH=Math.floor(percentH);

eval(this.hk_name).style.pixelTop+=percentY;
eval(this.hk_name).style.pixelLeft+=percentX;
eval(this.hktable_name).style.pixelWidth+=percentW;
eval(this.hktable_name).style.pixelHeight+=percentH;

this.lastScrollX=this.lastScrollX+percentX;
this.lastScrollY=this.lastScrollY+percentY;
this.lastScrollW=this.lastScrollW+percentW;
this.lastScrollH=this.lastScrollH+percentH;
}

//-----滑出---
this.doOver=function() {
if (event.srcElement.tagName=="TD") {
if (event.srcElement.innerText.length==0 || event.srcElement.innerText=="|") return
this.posXY(event.srcElement)
this.td_W=event.srcElement.scrollWidth+6
this.td_H=event.srcElement.scrollHeight
}
}

//-----绝对定位---
this.posXY=function(obj){
hk_left=obj.offsetLeft
hk_top=obj.offsetTop
vParent = obj.offsetParent;

while (vParent.tagName.toUpperCase() != "BODY")
{
hk_left += vParent.offsetLeft;
hk_top += vParent.offsetTop;
vParent = vParent.offsetParent;
}

this.td_X=hk_left
this.td_Y=hk_top
}

//-----关于---
this.about=function(){
alert("OK")
}

}
</script>

<head>
<meta http-equiv="Content-Language" content="zh-cn">
<style>
.b{color=#000066;cursor:hand}
.menu {
font-family:Arial;
cursor:Default;
font-size:12px;
border:1px #000000 solid;
border-collapse: collapse;
filter:progid:DXImageTransform.Microsoft.Gradient(gradienttype=0, startcolorstr=#ffffff, endcolorstr=#dddddd)
progid:DXImageTransform.Microsoft.Shadow(direction=135,color=#cccccc,strength=3);
}
.ht{
font-weight:bold
}
</style>
<!--
第一步:实体化X-Menu类
用法:
var <实体变量>.new CoolMenuControl()
--->
<script language="javascript">
var CoolMenu1=new CoolMenuControl()
var CoolMenu2=new CoolMenuControl()
var CoolMenu3=new CoolMenuControl()

var about=new Array()
about[0]="关于X-Menu菜单\n\nAuthor:PuterJam\nCopyright 2004\n转载请通知本人"
about[1]="关于作者\n\n\"这家伙很懒,什么也没留下!!\"\n不过欢迎大家和我交流Javascript\nQQ:10644570\nE-Mail:PuterJam@etang.com"

</script>
</head>
<body>
<!--
第二步:建立菜单项目---

用法:
<实体变量>.insertmenu(类型,Html代码,链接网址,目标)
 类型:0代表菜单标题,1代表树型菜单子项目,2代表横向菜单子项目
 Html代码:显示在菜单上的Html代码
链接网址:不用多说了,网址或Javascript脚本
目标:默认为空,既不在本页打开;"_blank"代表在新的页面打开
 例如:
CoolMenu2.insertmenu("2","<img src=/xinkeapp/uploads/allimg/200406/1A5423911-0.gif> 新浪网","http://www.sina.com.cn/","_blank")  
-->
<script>
CoolMenu1.insertmenu("0","欢迎使用X-Menu (菜单演示)<br>&nbsp; <font style='font-weight:lighter;'>Made By PuterJam</font>","","")
CoolMenu1.insertmenu("0"," ","http://www.blueidea.com/","_blank")

CoolMenu2.insertmenu("0","<img src=http://bbs.dvbbs.net/Skins/Default/nofollow.gif> 横向菜单","","")
CoolMenu2.insertmenu("2","<img src=/xinkeapp/uploads/allimg/200406/1A5423911-0.gif> 新浪网","http://www.sina.com.cn/","_blank")
CoolMenu2.insertmenu("2","<img src=/xinkeapp/uploads/allimg/200406/1A5423911-0.gif> 我的雅虎","http://cn.yahoo.com/","_blank")
CoolMenu2.insertmenu("2","<img src=/xinkeapp/uploads/allimg/200406/1A5423911-0.gif> 亿唐","http://www.etang.com/","_blank")
CoolMenu2.insertmenu("2","<img src=/xinkeapp/uploads/allimg/200406/1A5423911-0.gif> 21世纪","http://www.21cn.com/","_blank")
CoolMenu2.insertmenu("2","<img src=/xinkeapp/uploads/allimg/200406/1A5423911-0.gif> 游侠网","http://www.ali213.net/","_blank")

CoolMenu3.insertmenu("0","<img src=http://bbs.dvbbs.net/Skins/Default/nofollow.gif> 树形菜单","","")
CoolMenu3.insertmenu("0","<img src=/xinkeapp/uploads/allimg/200406/1A54242H-8.gif> ","http://www.blueidea.com/","_blank")
CoolMenu3.insertmenu("1","关于X-Menu菜单","javascript:alert(about[0])","")
CoolMenu3.insertmenu("1","关于作者","javascript:alert(about[1])","")
CoolMenu3.insertmenu("1","联系我","mailto:PuterJam@etang.com","")
CoolMenu3.insertmenu("1","你的浏览器版本","javascript:alert(navigator.appName)","")
</script>

<!--
第三步:建立菜单---

用法:
<实体变量>.init(实体变量名,边框颜色,背景颜色,滑动速度,背景半透明度)
'实体变量名'必须与<实体变量>相同
如果背景颜色="transparent"既为完全透明
 例如:
CoolMenu1.init("CoolMenu1","#002000","#38FFff",0.1,15)  
-->
<script>CoolMenu1.init("CoolMenu1","#002000","#38FFff",0.1,15)</script>
<script>CoolMenu2.init("CoolMenu2","#002000","#00FF80",0.2,10)</script>
<script>CoolMenu3.init("CoolMenu3","#002000","#f0FF00",0.3,25)</script>
</body>

热点地区网站制作
热门地区网站设计制作、为客户量身定制一个适合自己的推广营销型网站
|广灵做网站
广灵县,隶属于山西省大同市,位于山西省东北边陲,北岳恒山东襟。东与河北省蔚县毗邻,南同灵丘县接壤,西连浑源县,北接阳高县和河北省阳原县。辖2镇7乡180个行政村,面积1
|留坝网站制作
留坝县位于秦岭南麓腹地,汉中市北部。位于东径106度38分05—107度18分14,北纬33度17分42,——33度53分29。东连洋县、城固,南接汉台区,西邻勉县,北靠太白、凤县。川陕公路纵贯全
|咸安企业做网站
咸安区,隶属于咸宁市,位于湖北省东南部,东接阳新,南连崇阳,西邻赤壁,北靠江夏,东南与通山接壤,西北与嘉鱼毗邻。 区政府驻地浮山街道。截至2016年,咸安区国土面积1501平
|饶阳网站推广
饶阳县地处冀中平原,总面积573平方公里,人口30万,耕地58万亩,滹沱河自西向东从中部穿过,土地平坦,四季分明,自然气候条件优越,区位优势明显,北距京、津均240公里,东临秦
|衢州网络推广
衢州市位于中国浙江省西部,地处浙江、福建、江西、安徽四省交界,素有“四省通衢”之称,是沿海经济发达地区和内陆腹地的结合部。全市总面积8837平方公里,人口241万,下辖4县
|九寨沟网站建设
九寨沟位于四川省阿坝藏族羌族自治州九寨沟县境内,是白水沟上游白河的支沟,以有九个藏族村寨(又称何药九寨)而得名。九寨沟海拔在2000米以上,遍布原始森林,沟内分布一百零
|崂山网站建设
崂山是山东半岛的主要山脉,最高峰崂顶海拔1133米,是我国海岸线第一高峰,有着海上第一名山之称。它耸立在黄海之滨,高大雄伟。当地有一句古语说:“泰山云虽高,不如东海崂。
|阜平网站建设
阜平县位于中国河北省西部。属保定市,与山西省接壤。北纬38°9′-39°7′,东经113°45′-114°31′。东与曲阳、唐县交界,东北与涞源为邻,西与山西省五台县相接,西北与山西省繁峙
|平度网站建设
处于中国经济强劲增长的环渤海湾经济圈、山东半岛制造业中心地带的平度,是连接【青岛】、【潍坊】、【烟台】三大城市的枢纽,更是胶东半岛制造业中心、青岛经济发展潜力之都
|墨江网站建设
墨江位于云南省南部、思茅市东部,地处北纬22°51′-23°59′、东经101°08′-102°04′之间,全县国土总面积5312平方公里,其中山区面积占总面积的99.98%。北回归线穿城而过,被誉为"北回
|逊克网站建设
地理位置:逊克县位于黑龙江省北部边陲,小兴安岭中段北麓,黑龙江中游右岸,有135公理的边境线,与俄罗斯阿穆尔州米哈伊洛夫区隔江相望。气候特征:地处中高纬度地区,属寒温
|仙桃网站建设
仙桃市位于鄂中,地处江汉平原南部,汉江下游南岸。东邻汉阳,西接潜江,南滨东荆河与洪湖、监利相望,北枕汉江同天门、汉川—衣带水。市治距省会武汉市82公里。东西最大横距
推荐地区
重点地网站设计、网站建设、网站维护服务推荐,完善的售前售后服务保障客户推广的有效
|黔南做网站
黔南企业做网站,黔南比较好的网络公司,黔南专业的网站建设
|大理网站制作
大理企业做网站,大理比较好的网络公司,大理专业的网站建设
|徐州企业做网站
徐州企业做网站,徐州比较好的网络公司,徐州专业的网站建设
|渭南网站推广
渭南企业做网站,渭南比较好的网络公司,渭南专业的网站建设
|广西网络推广
广西企业做网站,广西比较好的网络公司,广西专业的网站建设
|毕节网站建设
毕节企业做网站,毕节比较好的网络公司,毕节专业的网站建设
|营口网站建设
营口企业做网站,营口比较好的网络公司,营口专业的网站建设
|柳州网站建设
柳州企业做网站,柳州比较好的网络公司,柳州专业的网站建设
|铜陵网站建设
铜陵企业做网站,铜陵比较好的网络公司,铜陵专业的网站建设
|林芝网站建设
林芝企业做网站,林芝比较好的网络公司,林芝专业的网站建设
|普洱网站建设
普洱企业做网站,普洱比较好的网络公司,普洱专业的网站建设
|延安网站建设
延安企业做网站,延安比较好的网络公司,延安专业的网站建设
热点TAG
网站制作热点内容汇集,展示最新的网站建站TAG,热点做网站内容