Javascript实现网页上的多级菜单

本文档介绍了如何使用Javascript实现多级菜单的功能,包括菜单的显示方式、解决与Dreamweaver模板配合的问题,以及如何添加图标和分割线。通过包含menu.js和menu.css文件,创建MainMenu和MenuItem类,用户可以自定义菜单的显示效果和行为。
摘要由CSDN通过智能技术生成

Javascript多级菜单v0.9b

作者:detrox
email: detrox@163.net
qq: 2721826

请看左侧的例子:

0.9版特性:

1,可以多级菜单显示

2,可通过定义fShow函数定义菜单的出现方式

3,解决了和dreamweaver的template机制配合时,相对路径在脚本中无法定位的问题

4,可在菜单项上加入图标,支持分割线

5,在有子菜单的菜单项上,显示“〉”标明其是多级菜单

使用方法:
1,包含menu.js和menu.css

2,用创建主菜单类

   main = new MainMenu(10,50,"My Menu");

这里,MainMenu的前两个参数表示其左上角位置坐标,前者为left,后者为top。第三个参数为菜单标题。

之后用MenuItem类建立菜单项
MenuItem的源型如下:

   function MenuItem(_parent,_caption, _url, _target,_style, _image,_templatePos,_description)

其中,_parent为父菜单项,例如:

Item1 = new MenuItem(main,"detrox's Page","http://detrox.yeah.net"
   ,"_blank",null,"detrox.gif",false,"detrox's homepage    on programming");

建立了一个main的菜单项,又如

   Item2 = new MenuItem(Item1,"detrox's Page","http://detrox.yeah.net"
   ,"_blank",null,"detrox.gif",false,"detrox's homepage    on programming");

建立一个Item1的子菜单项

其他参数:

  • _caption为菜单项的标题,new当_caption为“-”时可显示分割线。
  • url为其连接目的地
  • _target为文档读取的位置(同a标签的target属性)
  • _style可以添加菜单项的特殊CSS属性
  • _image为显示在菜单文字前小图标的路径
  • _description为菜单注释(同a标签的title属性)。

特别说明:

_templatePos 用于和Dreamweaver结合制作网页时。当需要使用template机制,而_url又需要在网页中相对定位时。设置_templatePos为true并且需要在dreamweaver的template中加入定位标签:<a id = "lnkDir" href = template所在目录相对于根目录的位置></a>。例如:
template文件:normalPage.dwt存在于站点的templates目录,这需要在normalPage.dwt中加入。

<a id="lnkDir" href="../."></a>

显示菜单:

最后使用,MainMenu的show()命令显示菜单。
例如:

main.show()

用户可以自定义菜单的显示方法。通过定义fShow(id)函数.函数原型如下

fShow(id) 

这里id时将要显示的菜单(div元素)的id号。可以通过这个id号控制菜单。定义mfShow(id)可以改变主菜单的显示方法

注释:

有子菜单的菜单项后的箭头图标文件名必须为arrow.gif文件,如果我提供的箭头颜色和您希望的不符请更改这个文件。

CSS样式的定义:

定义您自己的菜单样式,请修改menu.css,其中

  • .sMenuItem 为菜单项被选中时的样式
  • .nMenuItem 为菜单项未被选中时的菜单样式
  • .mnuTitle 为主菜单的标题样式
  • .nMenuBk 为菜单背景层样式

源代码

<script> /* * Javascript Multi-Level Menu * * Author: detrox * Date : 2003 * * version: 0.9b * enviroment: Microsoft Internet Explorer 5.5 or higher * * note: any copy of this file must include this part of message. * */ /* * Global variables here * * Do not change this part */ var menuId = 0; var menuItemId = 0; var currentLevel = 0; var levelStat = new Array(); var version = "MMENU;0.9;B;TROX"; var waitForHide; var waitingTime
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值