javascript方法实现鼠标点击图层扩展后的效果

本文介绍了javascript实现鼠标点击图层扩展后效果的方法,供大家参考,具体分析如下:

该Javascript代码可以实现逐层扩展后的鼠标点击功能,代码有点复杂,重点是学习和研究,兴趣可以修改和简化。





扩层折叠



div.cltopmenu {
位置:绝对;
宽度:101;
身高:150;
剪辑:矩形(0101,14,0);
可见性:隐藏;
Z指数:31;
层的背景颜色:# eeeeee;
背景颜色:# 00ccff
}
div.cltopmenubottom {
位置:绝对;
宽度:101;
身高:3;
剪辑:矩形(0101,3,0);
顶部:11;
层的背景颜色:# cecfce;
背景颜色:# 000099;
Z指数:2
}
div.cltopmenutext {
位置:绝对;
宽度:91;
左:5;
顶部:15;
字体:宋体
字体大小:9pt;
背景颜色:# eeeeee;
Z指数:1;
颜色:# 000000
}
答:链接{
颜色:# 000000;
文字装饰:无
}


功能lib_bwcheck(){ / / BrowserCheck(需要)
这navigator.appversion版本=。
这navigator.useragent剂=。
这getelementbyid1:0 =。DOM文档。
这个opera5 = this.agent.indexof(歌剧5)> 1
本。IE5 =(this.ver.indexof(MSIE 5 )> 1 this.dom!这opera5)1:0;
这个IE6 =(this.ver.indexof(MSIE 6 )> 1 this.dom!这opera5)1:0;
这IE4 =(document.all!this.dom!这opera5)1:0;
这个IE =这。IE4 | | IE5 | | this.ie6本。
这个MAC = this.agent.indexof(Mac)> 1
本。NS6 =(this.dom parseInt(这个版本)> = 5 1:0);
这四=(document.layers!这个DOM)1:0;
这个体重=(this.ie6 this.ie5 this.ie4 this.ns4 | | | | | | | | this.ns6 | |这。opera5)
返回此
}
VaR BW =新lib_bwcheck()
遍= 0
无功nnumberofmenus = 2
无功nmwidth = 101
无功npxbetween = 20
无功nfromleft = 10
无功nfromtop = 20
Var nBgcolor='#CECFCE'
无功nbgcolorchangeto =# 6380bc
无功nimageheight = 11
功能makenewsmenu(obj,Nest){
嵌套=!Nest):'document。+鸟巢+'。
这个CSS = bw.dom document.getelementbyid(obj)。风格:BW。ie4document。所有{对象}。风格:bw.ns4eval(鸟巢+ 文件。层。+ obj):0;
这个事件= bw.dom document.getelementbyid(obj):BW。ie4document。所有{ obj }:bw.ns4eval(鸟巢+ 文件。层。+ obj):0;
这个scrollheight =体重。ns4this。CSS文件。身高:this.evnt.offsetheight
本。MOVEit = b_moveit;这bgchange = b_bgchange;
这个slideup = b_slideup;这b_slidedown slideDown =;
这clipto = b_clipto;
this.obj =对象+对象;eval(this.obj +=这)
}
功能b_moveit(x,y){,x = x;y = y,;这个CSS。左=,X;这个CSS。=这Y }。
功能b_bgchange(彩色){ if(bw.dom bw.ie4这个CSS。背景颜色=别的颜色,背景颜色=颜色CSS。} | |);
功能b_clipto(T,R,B,L){
如果(bW. NS4){这个CSS。夹。= T;这个CSS。夹。右= R;这个CSS。夹。底= B;这个CSS。夹。左= L
}否则。CSS。夹=矩形(+ T +
}
功能b_slideup(ystop,举动,速度,FN,WH){
如果(!这slideactive){。
如果(这。y > ystop){
This.moveIt(这个X,这个Y-5);eval(WH)
setTimeout(这个.obj + 。slideup (+ ystop +
其他{ }
这个slideactive = false;this.moveit(0,ystop);eval(FN)
}
}
}
功能b_slidedown(ystop,举动,速度,FN,WH){
如果(!这slideactive){。
如果(这。Y<ystop){
This.moveIt(这个X,这个y + 5);eval(WH)
setTimeout(这个.obj +。slideDown (+ ystop +
其他{ }
这个slideactive = false;this.moveit(0,ystop);eval(FN)
}
}
}
功能newsmenuinit(){
otopmenu =新的数组()
在= 10
为(i = 0;i < = nnumberofmenus;i++){
我otopmenu { } =新的数组()
otopmenu {我} { 0 } =新makenewsmenu('divtopmenu +我)
otopmenu {我} { 1 } =新makenewsmenu('divtopmenubottom +我,'divtopmenu +我)
otopmenu {我} { 2 } =新makenewsmenu('divtopmenutext +我,'divtopmenu +我)
otopmenu {我} { 1 }。MOVEit(0,nimageheight)
otopmenu {我} { 0 }。clipto(0,nmwidth,nimageheight + 3,0)
如果(!遍)otopmenu {我} { 0 }。MOVEit(我nmwidth + nfromleft +(我npxbetween),nfromtop)
别的{
otopmenu {我} { 0 }。MOVEit(nfromleft,我nimageheight + nfromtop +(我npxbetween))
otopmenu {我} { 0 }。CSS zIndex = zIndex --。
}
otopmenu {我} { 0 }。CSS。能见度=可见
}
}
功能topmenu(NUM){
如果(otopmenu {数量} { 1 }。Y = = nimageheight)otopmenu {数量} { 1 },{数量} slideDown(otopmenu { 2 }。scrollheight + 20,10,40,'otopmenu {+数字+ } { 0 }。clipto(0,nmwidth,otopmenu {+数字+ } { 1 }。Y + 3,0),'otopmenu {+数字+ } { 0 }。clipto(0,nmwidth,otopmenu {+数字+ } { 1 }。Y + 3,0)。
如果(otopmenu {数量} { 1 }。Y = = otopmenu {数量} { 2 }。scrollheight + 20)otopmenu {数量} { 1 }。slideup(nimageheight,不同,'otopmenu {+数字+ } { 0 }。clipto(0,nmwidth,otopmenu { +数+} { 1 }。Y + 3,0),'otopmenu {+数字+ } { 0 }。clipto(0,nmwidth,'otopmenu {+数字+ } { 0 }。clipto))。
}
功能menuover(NUM){ otopmenu {数量} { 1 }。bgchange(nbgcolorchangeto)}
功能menuout(NUM){ otopmenu {数量} { 1 }。bgchange(nbgcolor)}
newsmenuinit onload =;

点击展开



单击鼠标后层展开Javascript鼠标,单击后一层展开Javascript。









希望本文能对大家的javascript程序设计有所帮助。