ASP生成LI+CSS无限级菜单

七 30th, 2008

数据库 仅有一menu表
menu_id 菜单ID
menu_title 菜单显示的名称
menu_url 连接的目的地址
menu_par 父项ID

用ASP+MDB实现动态生成,LI+CSS实现弹出动态效果,JS使用myw3sys.js框架
程序测试下载地址:http://www.miaoqiyuan.cn/products/asp_css_li.rar
太晚了,就不截图了,下面是程序的核心代码。

ASP

< %
function menu_adds(rs,ji,par,max,subme)
	submenu=subme+1
	response.write ji&"
<ul>"+chr(10)
	do while not rs.eof
		set demo=Conn.execute("select * from menu where menu_par="&amp;rs("menu_id"))
		if not demo.eof and submenu<span><a href="about:blank">"&amp;rs("menu_title")&amp;"</a></span>"+chr(10)
			call menu_adds(demo,ji&amp;"	",rs("menu_id"),max,submenu)
		else
			response.write ji&amp;"
	<li><span><a href="about:blank">"&amp;rs("menu_title")&amp;"</a></span>"+chr(10)
		end if
		response.write ji&amp;"	
 
"+chr(10)
		rs.movenext
	loop
	response.write ji&amp;""+chr(10)
end function
 
'用法 menu_add(父ID,最大几级,所处级别)
sub menu_add(par,max,submenu)
	set rs=Conn.execute("select * from menu where menu_par="&amp;par)
	call menu_adds(rs,"	",par,max,submenu)
end sub
 
'列出所有级别菜单
sub menuall()
	call menu_add(0,9999,0)
end sub
 
'列出一级菜单
sub menu1()
	call menu_add(0,1,0)
end sub
 
'列出二级菜单
sub menu2()
	call menu_add(0,2,0)
end sub
 
'列出编号为2的菜单下的子菜单,只显示一级
sub menu02_1()
	call menu_add(2,1,0)
end sub
%&gt;</li>
</ul>

CSS

body{margin:0px;background:#666}
ul{list-style:none;margin:0px;padding:0px;}
 
/*弹出CSS菜单*/
#Menu_0 ul.show{display:block;border-bottom:#333 solid 2px;border-right:#333 solid 2px;}
 
/*一级菜单*/
#Menu_0 li{float:left;}
#Menu_0 a{background:#AAA;width:180px;height:40px;text-decoration:none;text-align:center;line-height:40px;color:#000;display:block;}
#Menu_0 a:hover{background:#CCC;}
 
/*二级菜单*/
#Menu_0 ul{display:none;position:absolute;z-index:1;}
#Menu_0 ul li{float:none;}
#Menu_0 ul li a{background:#BBB;}
 
/*三级菜单*/
#Menu_0 ul ul{float:left;display:none;position:absolute;z-index:20;}
#Menu_0 ul ul li a{background:#999;}

Javascript

/*使用myw3sys.js框架 http://labs.myw3sys.cn/js/myw3sys */
function Menu_Create(){
	var oMenu=_Get("li","tagname");
	for(i=0;i
 
 
标签: ,
目前还没有任何评论.