zoukankan
html css js c++ java
DIV+CSS+JS树形菜单,可以刷新不改变菜单
<!
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
<
html
xmlns
="http://www.w3.org/1999/xhtml"
>
<
head
>
<
meta
http-equiv
="Content-Type"
content
="text/html; charset=gb2312"
>
<
title
>
Div+CSS+JS树型菜单,可刷新
</
title
>
<
meta
name
="description"
content
="http://www.NETAny.net"
>
<
style
type
="text/css"
>
...
<!--
*
{...}
{
margin
:
0
;
padding
:
0
;
border
:
0
;
}
body
{...}
{
font-family
:
arial, 宋体, serif
;
font-size
:
12px
;
}
#nav
{...}
{
width
:
180px
;
line-height
:
24px
;
list-style-type
:
none
;
text-align
:
left
;
/**/
/*
定义整个ul菜单的行高和背景色
*/
}
/**/
/*
==================一级目录===================
*/
#nav a
{...}
{
width
:
160px
;
display
:
block
;
padding-left
:
20px
;
/**/
/*
Width(一定要),否则下面的Li会变形
*/
}
#nav li
{...}
{
background
:
#CCC
;
/**/
/*
一级目录的背景色
*/
border-bottom
:
#FFF 1px solid
;
/**/
/*
下面的一条白边
*/
float
:
left
;
/**/
/*
float:left,本不应该设置,但由于在Firefox不能正常显示
继承Nav的width,限制宽度,li自动向下延伸
*/
}
#nav li a:hover
{...}
{
background
:
#CC0000
;
/**/
/*
一级目录onMouseOver显示的背景色
*/
}
#nav a:link
{...}
{
color
:
#666
;
text-decoration
:
none
;
}
#nav a:visited
{...}
{
color
:
#666
;
text-decoration
:
none
;
}
#nav a:hover
{...}
{
color
:
#FFF
;
text-decoration
:
none
;
font-weight
:
bold
;
}
/**/
/*
==================二级目录===================
*/
#nav li ul
{...}
{
list-style
:
none
;
text-align
:
left
;
}
#nav li ul li
{...}
{
background
:
#EBEBEB
;
/**/
/*
二级目录的背景色
*/
}
#nav li ul a
{...}
{
padding-left
:
20px
;
width
:
160px
;
/**/
/*
padding-left二级目录中文字向右移动,但Width必须重新设置=(总宽度-padding-left)
*/
}
/**/
/*
下面是二级目录的链接样式
*/
#nav li ul a:link
{...}
{
color
:
#666
;
text-decoration
:
none
;
}
#nav li ul a:visited
{...}
{
color
:
#666
;
text-decoration
:
none
;
}
#nav li ul a:hover
{...}
{
color
:
#F3F3F3
;
text-decoration
:
none
;
font-weight
:
normal
;
background
:
#CC0000
;
/**/
/*
二级onmouseover的字体颜色、背景色
*/
}
/**/
/*
==============================
*/
#nav li:hover ul
{...}
{
left
:
auto
;
}
#nav li.sfhover ul
{...}
{
left
:
auto
;
}
#content
{...}
{
clear
:
left
;
}
#nav ul.collapsed
{...}
{
display
:
none
;
}
-->
#PARENT
{...}
{
width
:
300px
;
padding-left
:
20px
;
}
</
style
>
</
head
>
<
body
>
<
div
id
="PARENT"
>
<
ul
id
="nav"
>
<
li
><
a
href
="#Menu=ChildMenu1"
onclick
="DoMenu('ChildMenu1')"
>
我的网站
</
a
>
<
ul
id
="ChildMenu1"
class
="collapsed"
>
<
li
><
a
href
="http://www.netany.net"
target
="_blank"
>
www.netany.net
</
a
></
li
>
<
li
><
a
href
="http://www.netany.net"
target
="_blank"
>
www.netany.net
</
a
></
li
>
<
li
><
a
href
="http://www.netany.net"
target
="_blank"
>
www.netany.net
</
a
></
li
>
</
ul
>
</
li
>
<
li
><
a
href
="#Menu=ChildMenu2"
onclick
="DoMenu('ChildMenu2')"
>
我的帐务
</
a
>
<
ul
id
="ChildMenu2"
class
="collapsed"
>
<
a
href
="http://www.netany.net"
target
="_blank"
>
支付
</
a
></
li
>
<
li
><
a
href
="#"
>
网上支付
</
a
></
li
>
<
li
><
a
href
="#"
>
登记汇款
</
a
></
li
>
<
li
><
a
href
="#"
>
在线招领
</
a
></
li
>
<
li
><
a
href
="#"
>
历史帐务
</
a
></
li
>
</
ul
>
</
li
>
<
li
><
a
href
="#Menu=ChildMenu3"
onclick
="DoMenu('ChildMenu3')"
>
网站管理
</
a
>
<
ul
id
="ChildMenu3"
class
="collapsed"
>
<
li
><
a
href
="#"
>
登录
</
a
></
li
>
<
a
href
="http://www.netany.net"
target
="_blank"
>
管理
</
a
></
li
>
<
li
><
a
href
="#"
>
管理
</
a
></
li
>
<
li
><
a
href
="#"
>
管理
</
a
></
li
>
</
ul
>
</
li
>
<
li
><
a
href
="#Menu=ChildMenu4"
onclick
="DoMenu('ChildMenu4')"
>
网站管理
</
a
>
<
ul
id
="ChildMenu4"
class
="collapsed"
>
<
li
><
a
href
="#"
>
登录
</
a
></
li
>
<
a
href
="http://www.netany.net"
target
="_blank"
>
管理
</
a
></
li
>
<
li
><
a
href
="#"
>
管理
</
a
></
li
>
<
li
><
a
href
="#"
>
管理
</
a
></
li
>
</
ul
>
</
li
>
</
ul
>
</
div
>
<
div
style
="300;padding-left:30px;"
>
</
br
></
br
>
工作需要搞了一个菜单,分享给大家,大家一齐学习
</
br
></
br
>
<
p
>
请大家支持:
<
a
href
="http://www.netany.net"
target
="_blank"
>
http://www.netany.net
</
a
></
p
>
</
div
>
</
body
>
</
html
>
<
script
type
=text/javascript
>
...
<!--
var
LastLeftID
=
""
;
function
menuFix()
...
{
var
obj
=
document.getElementById(
"
Nav
"
).getElementsByTagName(
"
li
"
);
for
(
var
i
=
0
; i
<
obj.length; i
++
)
...
{
obj[i].onmouseover
=
function
()
...
{
this
.className
+=
(
this
.className.length
>
0
?
"
"
:
""
)
+
"
sfhover
"
;
}
obj[i].onMouseDown
=
function
()
...
{
this
.className
+=
(
this
.className.length
>
0
?
"
"
:
""
)
+
"
sfhover
"
;
}
obj[i].onMouseUp
=
function
()
...
{
this
.className
+=
(
this
.className.length
>
0
?
"
"
:
""
)
+
"
sfhover
"
;
}
obj[i].onmouseout
=
function
()
...
{
this
.className
=
this
.className.replace(
new
RegExp(
"
( ?|^)sfhover/b
"
),
""
);
}
}
}
function
DoMenu(emid)
...
{
var
obj
=
document.getElementById(emid);
obj.className
=
(obj.className.toLowerCase()
==
"
expanded
"
?
"
collapsed
"
:
"
expanded
"
);
if
(LastLeftID
!=
""
)
//
关闭上一个Menu
...
{
document.getElementById(LastLeftID).className
=
"
collapsed
"
;
}
LastLeftID
=
emid
}
function
GetMenuID()
...
{
var
MenuID
=
""
;
var
_paramStr
=
new
String(window.location.href);
var
_sharpPos
=
_paramStr.indexOf(
"
#
"
);
if
(_sharpPos
>=
0
&&
_sharpPos
<
_paramStr.length
-
1
)
...
{
_paramStr
=
_paramStr.substring(_sharpPos
+
1
, _paramStr.length);
}
else
...
{
_paramStr
=
""
;
}
if
(_paramStr.length
>
0
)
...
{
var
_paramArr
=
_paramStr.split(
"
&
"
);
if
(_paramArr.length
>
0
)
...
{
var
_paramKeyVal
=
_paramArr[
0
].split(
"
=
"
);
if
(_paramKeyVal.length
>
0
)
...
{
MenuID
=
_paramKeyVal[
1
];
}
}
/**/
/*
if (_paramArr.length>0)
{
var _arr = new Array(_paramArr.length);
}
//取所有#后面的,菜单只需用到Menu
//for (var i = 0; i < _paramArr.length; i++)
{
var _paramKeyVal = _paramArr[i].split('=');
if (_paramKeyVal.length>0)
{
_arr[_paramKeyVal[0]] = _paramKeyVal[1];
}
}
*/
}
if
(MenuID
!=
""
)
...
{
DoMenu(MenuID)
}
}
GetMenuID();
//
*这两个function的顺序要注意一下,不然在Firefox里GetMenuID()不起效果
menuFix();
-->
</
script
>
http://www.corange.cn/archives/2008/03/546.html
查看全文
相关阅读:
同一个String在使用不同的charset编码的时候equals仍然是返回true吗
request的生存期只限于服务器跳转
flex 客户端缓存SharedObject
flex NaN
oracle 任务使用
oracle 数据泵
datagrid 用法
Windows系统中path环境变量详解
[转]eclipse导入V7包出现错误解决办法
由多线程引起的map取值为null的分析
原文地址:https://www.cnblogs.com/zerogo/p/2209380.html
最新文章
Android进程保活招式大全
深度学习项目
2015年Android开发新技术盘点
成长路上,刀剑如梦
android事件拦截处理机制具体解释
国家制定人工智能(AI)发展战略的决策根据
经常使用的eclipse快捷键-也适合sts
线段树专题—HDU1698 Just a Hook
《Java并发编程实战》第六章 任务运行 读书笔记
[ACM] POJ 3740 Easy Finding (DLX模板题)
热门文章
向MapReduce转换:通过部分成绩计算矩阵乘法
AR9331出现connect-debounce failed,port 1 disabled解决方法备忘
使用JSTL的xml:parse标签(或者说x:parse)出现异常NoSuchMethodError,找不到doc的setter method
使用JSTL的sql:query标签制作分页查询遇到NoSuchFieldError: deferredExpression
c++读写二进制文件
VS调试-添加命令行参数
[转]C艹中的各种const总结
从constructor中抛出exception后,constructor会返回null吗?
Scanner.findInLine()与while的使用莫名其妙的导致NoSuchElementException: No line found
Java泛型:List<?>与List的区别
Copyright © 2011-2022 走看看